2017-03-31 61 views
0

我有一個採樣數據與TRUE/FALSE的值設置:Excel中不捕獲SUMIFS其中條件是文本/布爾

COLA | COLB | COLC 
------ | ----- | ----- 
ABCD | 1234 | TRUE 
BCDE | 2345 | FALSE 
ABCD | 3456 | TRUE 

其中我試圖的公式爲=SUMIFS(COLB,COLC,"TRUE",COLA,"ABCD"),其被返回0代替4690

如果我使用布爾表示而不是文本=SUMIFS(COLB,COLC,TRUE,COLA,"ABCD"),它仍然返回0

奇怪的是,如果我回去在COLC細胞和雙擊+輸入上的值,內容得到居中,則公式開始正常工作:

COLA | COLB | COLC 
------ | ----- | ----- 
ABCD | 1234 | TRUE 
BCDE | 2345 | FALSE 
ABCD | 3456 | TRUE 

不過,我不知道想要這樣做是因爲數據是通過宏導入的,並且不應該觸摸表單。

如何修復公式以捕獲文本,因爲它目前在COLC中?

+0

嘗試與此= SUMIFS(COLB,COLC,TRUE()) – Nicolaesse

+0

@Nicolaesse沒有快樂:( – Dezzie

+0

您的公式的工作。我相信這是一個問題在格式類型COLC'= SUMIFS(B3:B5,A3:A5,「 ABCD「,C3:C5,」TRUE「) –

回答

3

SUMIFS正在將criteria參數中的TRUE解釋爲布爾值。您的數據正在以文本字符串的形式導入。

您可以強制SUMIFS加入了外卡,查看TRUE作爲一個字符串:

=SUMIFS(COLB,COLA,"ABCD",COLC,"*TRUE") 

顯然並不理想,因爲它會計算與TRUE結尾的字符串,但應該工作給你的榜樣。

的替代,而不是依賴於外卡是:

=SUMPRODUCT((COLA="ABCD")*(COLC="TRUE")*COLB) 

如果需要可以算TRUE是否可能是布爾或TEXT,嘗試其中之一:

=SUM(SUMIFS(COLB,COLA,"ABCD",COLC,{"*TRUE",TRUE})) 
=SUMPRODUCT((COLA="ABCD")*(COLC={"TRUE",TRUE})*COLB)