我正在嘗試生成一個值計數(如果為真且落在日期範圍內)

我正在嘗試生成一個值計數(如果為真且落在日期範圍內)

我輸入了這個公式,但出現錯誤...任何人都可以幫忙嗎?

=COUNTIFS(West!N6:N26,true,[West!C6:C26,>=1/1/21,date range,<=1/31/21])

答案1

不需要使用IF(): 事實上,當您有一長串條件列表(甚至只有五個或六個)時,COUNTIFS()它是一個很好的替代品IF(),而且要優越得多,因為您可以在每個條件後使用Alt -Enter 將它們整齊地堆疊在公式編輯欄中這使得設置它們和以後維護它們比我們所說的卑鄙、令人討厭的連續句子要容易得多IF()

如前所述FlexYourData,如果您刪除那些莫名其妙的方括號,並將日期部分括在雙引號中(如下所示),那麼只要“日期範圍”成為某種有效的參考,您就可以進行業務:

=COUNTIFS(West!N6:N26,true,West!C6:C26,">=1/1/21",date range,"<=1/31/21")

首先是日期部分。你的標準不能只是像你有的那樣寫出來。對於第一個條件來說沒問題,true因為...好吧,因為 Excel 就是這樣...但是對於不是邏輯 TRUE/FALSE 的條件,您需要將整個條件用雙引號引起來,或者如果它是一個運算符,例如“">=”,以及一個函數或公式,例如“TODAY()也許”,那麼運算符必須用雙引號引起來,而函數則不必用雙引號引起來。因此,不僅僅是日期本身,還有整個標準,如上所述。

現在,「日期範圍」不能是命名範圍,因為 NR 中不能有空格。因此,人們假設您正在從一種廣義的、概念性的公式轉向具有實際範圍之類的公式,例如West!C6:C26 公式,並且剛剛錯過了離開“日期範圍”的第三個公式...在這種情況下,輸入一些內容真實存在的,即使是命名範圍,也能解決這個困難。如果我錯了,而你真的想要那裡的“日期範圍”,那麼,你永遠不會讓它發揮作用。

最後一點:關於事物周圍的雙引號。它們適用於 Excel,因此它可以告訴您雙引號內的文字值。 Excel 將該對的第一部分(「條件」)與該值進行比較。因此,如上所述,使用了引號內的文字值,因此Excel 會獲取在第N 列單元格中找到的內容並添加您的文字表達式,因此它會在其後面添加比較運算符AND 值,這樣它就建立了一個表達式,它可以像在某個儲存格中找到的公式一樣對待,並將TRUE 或FALSE 傳回給自身,並使用它來決定將其包含或不包含在您正在使用的xxxxxIF 或xxxxxIFS 函數的答案中。

如果不包含雙引號,Excel 會認為您輸入了一個函數(當它本身找不到該函數時,它會在命名範圍中查找它,如果找不到,它會返回一個錯誤,從而導致一個問題. ..(通常...但並非總是如此!談論奇怪。但是,它不會導致問題的方式沒有真正的用處,不能用不同的方式做得更好。所以使用雙引號如果您沒有使用函數或命名範圍,甚至在使用函數時,您也必須引用比較運算子(=、> 等),它實際上聽起來比這更複雜,但如果您使用遵循這些想法,並記住,不使用條件的比較運算子會告訴Excel 使用=,您可以找出您可能遇到的大多數情況。

不過,您的情況很簡單:整件事情都用雙引號引起來,如您在上面看到的。

相關內容