2014-10-06 113 views
0

我有一張表,我想在另一個表中計算一個數據屬性的條目,並以其他屬性(數據列)爲條件。或條件在countifs?

所以我總結的表作爲的事情,比如電網:

=countifs(data type, "="&ColTags, data color, "="&ColTags, ...) 

凡ColTags是在總結網格列的標題標籤。

現在我想補充一點,只能彙總數據中的某些行並非全部(基本上是過濾器)。所以我加入COUNTIFS一個標準,如:

data city, "="&CityTag 

其中CityTag引用一個小區的情況下,用戶可以視需要輸入一個城市通過過濾摘要條目。我在該單元格中放置了「*」作爲默認值,並且它具有所期望的沒有效果(如預期的那樣),並且如果我在那裏放置了城市名稱「Texas」,那麼它僅適用於該城市的摘要。布拉沃。

它允許一個簡單的方法,讓用戶在任何城市的摘要表上選擇一個用戶過濾(選擇),或者不選擇任何一個。

此作品除數據表中的數字條目外。

對於他們來說,做同樣的事情,但在選擇單元格(PriceTag)中輸入數字將失敗。也就是說,基本上:「6 = *」失敗。但是,如果我使用算術比較運算符,則可以使用

data Price, ">="&PriceTag 

它可以工作。但只是輸入「*」通配符似乎不適用於數字條目,它只能進行實際值比較。

例如;

countif(A1,"="&A2) 

for: A1 A2 
     abc * -> 1 
     abc x -> 0 
     abc abc -> 1 

6 * -> 0 ?? 
    6 5 -> 0 
    6 6 -> 1 

看來,Excel將嘗試自動識別並鍵入數字,並區別對待通配符比較,因而不存在對NUMERICS匹配的「*」?

我試圖實際上是把條件(而不僅僅是值)選擇標記的細胞,這樣來解決這個問題:

countif(... data Price, PriceTag ) 

,然後在標籤細胞實際上是把:

"<100" or such... 

再一次,這很好地工作,但我找不到任何值放在那裏是一個無操作,即像元字符「*」是文本。我可以使用一個巨大的數字作爲數字默認值,但是對於任何空白價格字段(我都有)而言,它會失敗,這使得它與沒有操作的默認值不同。

嘗試「= *」作爲操作不起作用,因爲它似乎想做一個數字比較。

因此,我想知道有一些解決方法可以使用功能,該功能現在只接受一系列AND條件。有一些情況,說等效:

(PriceTag="*")||(data price, PriceTag) 

一種方法是嵌入COUNTIFS在if語句;

=if(PriceTag="*", Long-Countifs-without-Price, Long-countifs-with-price) 

但這顯然是凌亂的,因爲我想允許兩個這樣的數字選擇,甚至更糟。

這個有什麼好的Excel成語嗎?或者我只需要用(+,*)條件轉換爲sumProduct? 試圖做到這一點,術語:

...*(data city=CityTag) 

(其中CityTag是含有細胞:*)的計算結果爲:

{ ...list of city names...} = "*" 

其給出的結果:

{ False, False, ... } 

我本來期望{True,True,...}像sumifs結果一樣,所以我仍然沒有很好的解決方案。

+0

對於價格(非負整數),請使用「> = 0」而不是「*」。 「*」不適用於數字數據。 – 2014-10-06 02:46:43

+0

謝謝 - 正如我上面提到的,我嘗試過,但空白價格字段(我的數據)失敗。我可能只需要通過並清除缺失的價格數據(轉換爲0)。 – guthrie 2014-10-06 12:45:12

回答

1

對於數字和空白細胞用星號是通配符,與常量巢一個IF()的COUNTIF/COUNTIFS和求和這樣的返回(S),

=SUM(COUNTIF(A1,IF(A2="*",{"","<1e99"},A2)))

即只能作爲陣列式,並且必須用Ctrl敲定+ Shift + Delete鍵。如果您正在使用直接比較的文本值(例如城市名稱)的「或」,則它將用作標準公式。

=SUM(COUNTIF(A1,{"abc","def",""}))

這並不通過把={"abc","def",""}到細胞中,並使用單元格引用作爲條件參數工作。

1
  • 你不需要=跡象
  • 對於標價默認項,請使用<> X代替,其中X是任何非數字字符。

    = COUNTIFS(數據類型,ColTags,數據的顏色,ColTags,數據價錢,標價)