返回列表 上一主題 發帖

[發問] 可否用countif? 若是如何?

回復 1# sunnyso

這算趣味題

=SUM(COUNTIF(A:A,"*"&REPT("A",ROW(A1)+{-1,0})&"*")*{1,-1})
下拉
為4個公式(如下)統計值
0A
1A
2A
3A
{...} 表示需要用 CTRL+SHIFT+ENTER 三鍵輸入公式

TOP

回復 8# p212
1、對於REPT("A",ROW(A1)+{-1,0}),為何不直接用REPT("A",ROW(A1)-1)?
2、又COUNTIF結果*{1,-1},其*{1,-1}用意何在?在製造什麼樣的陣列結果供SUM運算?

回覆1
REPT("A",ROW(A1)+{-1,0}) ==> 當A1時 REPT("A", {0,1}) = {"", "A"} 可得兩個陣列值
REPT("A",ROW(A1)-1) ==> 當A1時 REPT("A", {0}) = {""} 可得一個陣列值

回覆2
=SUM(COUNTIF(A:A,"*"&REPT("A",ROW(A1)+{-1,0})&"*")*{1,-1})
=SUM(COUNTIF(A:A,{"**","*A*"})*{1,-1})
=SUM({64,37}*{1,-1})
=SUM({64,-37})
=27
   
COUNTIF(A:A,"**") 可得全部的數量
COUNTIF(A:A,"*A*") 可得*A*的數量
兩者相減就是不含A的數量

備註
** 包含 全部
*A*  包含 *A*、*AA*、*AAA*
*AA* 包含 *AA*、*AAA*
{...} 表示需要用 CTRL+SHIFT+ENTER 三鍵輸入公式

TOP

回復 12# 准提部林

好式子

貴式(12樓)解的是有幾個A

我(7樓)解的是 A、AA、AAA有幾個

剛好都可以參考
{...} 表示需要用 CTRL+SHIFT+ENTER 三鍵輸入公式

TOP

回復 11# softsadwind

>>   稍微修改一下你的公式=SUM(COUNTIF(A:A,"*"&REPT("*A",ROW(A1)+{-1,0})&"*")*{1,-1})
>>   rept內的A 變成*A

你修改的式子與我原式計算的意義不同,與12樓相同,請詳13樓說明

計算 *A*A*A* 型公式如下(任意排列3個A)
=SUM(COUNTIF(A:A,"*"&REPT("A*",ROW(A1)+{-1,0}))*{1,-1})
   

計算 *AAA* 型公式如下(連續排列3個A)
=SUM(COUNTIF(A:A,"*"&REPT("A",ROW(A1)+{-1,0})&"*")*{1,-1})
{...} 表示需要用 CTRL+SHIFT+ENTER 三鍵輸入公式

TOP

        靜思自在 : 發脾氣是短暫的發瘋。
返回列表 上一主題