【求助】Excel 在不同工作表中將符合條件的資料整合



贊助商連結


rickey
2002-10-18, 03:00 PM
不知道標題會不會訂的太長又不明確,但是我也想不出來要怎樣訂標題了,
在這裡潛水很久,受到很多高手的薰陶,獲益非淺,不過功力仍然有限,現
有一問題想了很久都無法達到需求,請各路高手能幫小弟一起想一想。

問題:

產品 數量 售價 小計  產品 數量 售價 小計
===========  ===========
A  1  10 10  F  0  10  0
B  2  10 20  G  5  10 50
C  0  10  0  H  0  10  0
D  0  10  0  I  3  10 30
E  1  10 10  J  1  10 10
〔甲商〕         〔乙商〕

現有4個類似上面資料的工作表(甲商,乙商,丙商,丁商),
每個工作表內的產品數據都不一樣,而且只有數量欄位的
數據是可以更動的,其餘的資料都是固定的。
另外有一個工作表叫採購清單。

目的:
1.找出數量不為0的產品,然後在採購清單工作表上列出清單。
2.從上到下排列產品清單,依序為甲商,乙商,丙商,丁商
3.產品清單中間不能有空白列,廠商之間需空一列
4.資料清單需隨著數量的變動,而有所更動。

範例完成表:

產品 數量 售價 小計
===========
A  1  10 10
B  2  10 20
E  1  10 10

G  5  10 50
I  3  10 30
J  1  10 10
===========
      合計130
〔採購清單〕

限制:不能用巨集orVB,只能用函數。


我是完成了目的1(參考了網路上的劍魔心法第一集)
首先本來是想用match這個函數,來搜尋數量大於0的資料,
後來發現match只能搜尋特定資料(也許可以,但是我想不出來),
所以我就在每個資料的後面一欄輸入了一個索引值公式,就是如果
數量大於0的話,就在那個欄位上面輸入1,否則就空白。
這樣就可以用match來尋找索引值等於1的那筆資料,然後再利用
indirect將資料呈現在採購清單表裡。

但是現在遇到的瓶頸就是,當我完成了甲商的採購清單,
我就不知道如何再空一列,然後把乙商的採購清單接著呈現出來。

我可以排成:
甲商 乙商 丙商 丁商

但是就是想不出來怎麼排成:
甲商
乙商 (廠商之間有空一列)
丙商
丁商

我是有一個想法就是先排成橫向的,然後把各廠商的採購清單當成一個
資料庫(或是一個群組,陣列等等),然後做一個轉向的動作,把甲商清
單固定,然後乙商移動到甲商下面,於此類推,當然我這樣講的很容易
,實際上做起來應該很麻煩,也許我這樣想是行不通的,不過目前我也
想不出來該怎麼解了。

麻煩各路高手幫忙想一想如何解這個問題,我知道可能用vb會很容易解,
但是在條件限制前提下,就是只能利用函數公式來解。

贊助商連結


leonchou
2002-10-19, 02:06 PM
會隨時間成長的資料,
硬要用函數對你並沒有好處.
尤其是
1.大量函數(計算)
2.陣列公式(計算+迴圈)

這牽涉到大量的計算動作
--> 損耗資源、降底效率

rickey
2002-10-20, 09:46 PM
是的,您說的我完全同意,也了解,
如果不考慮這些後遺症的話,是否可以利用函數達到
這個問題的需求?
還有其實數量並不會隨著時間增加,因為實際情況是,
廠商將這份訂購單傳給客戶,客戶依所需求將數量填入後
再寄回給廠商,其實最後那張表就是方便客戶知道他訂購
了哪些東西,我想大家都知道,有些人一打開帶有巨集的
試算表,都會怕有病毒,而將巨集關掉,所以這也是小弟
我進可能不去使用巨集的原因,也可以避免日後一些不必
要的糾紛.