我有一個包含3列的數據表(爲了清晰起見,簡化了外觀,但是排列和數據格式被保留,第一列A
是Date
使用我的區域設置格式化,但它是NOT text):根據幾個條件從數據數組中返回值
Date Module Value
27.01.2013 xxxxx 90
27.01.2013 ttttt 100
29.01.2013 aaaaa 110
31.01.2013 aaaaa 50
31.01.2013 mmmmm 200
31.01.2013 ttttt 80
03.02.2013 ttttt 140
04.02.2013 aaaaa 120
07.02.2013 mmmmm 150
07.02.2013 ttttt 90
07.02.2013 aaaaa 190
08.02.2013 aaaaa 210
08.02.2013 aaaaa 90
08.02.2013 aaaaa 170
08.02.2013 ttttt 90
08.02.2013 ttttt 110
08.02.2013 mmmmm 130
09.02.2013 mmmmm 90
09.02.2013 aaaaa 200
該列表可能很長並且會定期更新。我需要實現這一目標是:在同一張紙上,我有以下計算單元放在起始列E(即有數據,並計算出區域之間的空白欄d):
MAX last week Date Value
aaaaa 09.02.2013 200
mmmmm 07.02.2013 150
ttttt 03.02.2013 140
xxxxx <empty> No change
基本上,我需要從找出在A:C
數據陣列執行以下操作:
- 對於值的
E
列表(其對應於模塊中B
名)日期和相應的值,它是對於相同的模塊值中最大,但對於上週開始應該返回。 - 如果對於最後一週此模塊中沒有記錄 - 日期應該是空的,並「沒有變化」字符串應該是值(爲
xxxxx
從上面的例子,涉及到初始陣列和假設今天是2月9日)。
至於#2,我結束了以下內容:
- 對於
Date
:=IF(SUMPRODUCT(--(A:A>TODAY()-7),--(A:A="xxxxx"))=0,"")
- 對於
Value
:=IF(F5="","No change")
(左我這裏檢查對應的日期)
至於#1 - 我卡住了,那就是我需要指導或建議的地方。我嘗試了與MATCH
,VLOOKUP
等類似的東西,但是甚至沒有接近成功:我要麼有錯誤,要麼沒有相關的結果。
如果這很重要 - 日期總是排序,最近在列表的末尾,即新的記錄被添加到底部。同一個模塊可能在同一天有幾個記錄。如果樣本或解釋不清楚 - 請回複評論,我會添加更多詳細信息。謝謝!
謝謝,我結束了'= IF(F2 =「」,「沒有變化」,MAX( IF(A:A> TODAY() - 7,IF(B:B = E2,C:C))))'爲值。但是Date呢?我無法弄清楚如何擴展我的解決方案,以包括過去一週的日期...... – 2013-02-09 14:04:27
您希望MAX值出現的日期?我編輯了我的答案.... – 2013-02-09 14:37:51
對不起,但日期的公式返回循環引用,如果我將它與我的公式一起使用它的價值:我使用日期字段檢查是否爲「」或「沒有更改」的情況下。日期和值分別位於F和G. – 2013-02-09 16:36:14