
我有一張工作表,首先在其中對某個列套用篩選器以顯示「僅唯一記錄」。現在我有一個列,其中包含例如以下值:
Applepie
Applesauce
Crabapple
Banana
Mango
我需要的是包含“Apple”一詞的所有可見單元格的計數。請注意,這應該排除隱藏(過濾掉)的單元格。
現在我找到了一個公式:
`=SUMPRODUCT(SUBTOTAL(3,OFFSET(Sheet1!A:A,ROW(Sheet1!A:A)-MIN(ROW(Sheet1!A:A)),,1))*(Sheet1!A:A="<Text to search>"))`
然而,這個公式的問題是該公式搜尋整個文本。不僅僅是其中的一部分。如何修改此公式以傳回儲存格計數含有「蘋果」的即對於本範例,它應該返回 3 作為結果。
答案1
COUNTIF
使用通配符將單獨計算文字中某處帶有“Apple”的所有行......但它不限於可見行,並且您不能COUNTIF
與SUBTOTAL
公式結合使用。
SEARCH
使用函數像這樣調整你的公式
=SUMPRODUCT(SUBTOTAL(3,OFFSET(Sheet1!A:A,ROW(Sheet1!A:A)-MIN(ROW(Sheet1!A:A)),,1)),ISNUMBER(SEARCH("Apple",Sheet1!A:A))+0)
注意:該版本可能會很慢,引用整個列 - 如果可以的話最好限制範圍
替代方法
如果您想避免那麼長的公式,那麼您可以使用輔助列來指示是否過濾每行,例如在 Sheet1 Z2 中使用向下複製的公式
=SUBTOTAL(3,A2)
現在您可以使用COUNTIFS
函數來計算包含“Apple”的可見行數
=COUNTIFS(A:A,"*Apple*",Z:Z,1)
答案2
測試:=COUNTIF(A2:A10;"Apple*")
改變range