使用簡單的標準定位單元格

使用簡單的標準定位單元格

我有這樣的數據:

在此輸入影像描述

我需要找到(取得行號)對於以字母開頭的單元格A

我目前的方法是使用“助手”列。在B1我輸入:

=IF(LEFT(A1)="A",1,"")

並在B2我輸入:

=IF(LEFT(A2)="A",MAX($B$1:B1)+1,"")

並抄下來。這標識了感興趣的行。終於在C1我用:

=IFERROR(MATCH(ROWS($1:1),$B$1:$B$23,0),"")

並抄下來。

在此輸入影像描述

我的目標是消除「助手」欄。

我看到的唯一兩個選項是:

  • 使用自動過濾器
  • 使用VBAUDF

自動過濾方法很糟糕,因為每當刷新資料時就必須重新執行過濾器。這UDF方法不好,因為工作表必須在無 VBA 的環境中工作。

是否有任何類型的公式或陣列公式可以獲得行號,或者我是否堅持使用“helper”列?

答案1

Ctrl嘗試使用+ Shift+作為陣列公式輸入Enter

{=SMALL(IF(LEFT($A$1:$A$23)="A",ROW($A$1:$A$23),9E+99),ROW())}

不過,我認為您的標準比實際應用中的標準更複雜。您可以將 替換LEFT($A$1:$A$23)="A"為您喜歡的任何標準,它仍然有效。

9E+99請注意,如果您向下複製的行數多於以「A」開頭的行數,則會傳回此值。您可以調整它以返回空白:

{=IFERROR(SMALL(IF(LEFT($A$1:$A$14)="A",ROW($A$1:$A$14),""),ROW()),"")}

答案2

試試這個:
將 0 放入 C1 中。
來自 C2:=match(indirect("a"&c1+1&":a<last row>",true),"a*",0)+C1
注意:匹配不區分大小寫。在詢問找到匹配項後,您需要管理錯誤。

相關內容