Excel - 間接公式

Excel - 間接公式

另一個關於Excel間接公式的問題。

我的 E1:J202 欄位填滿了以下內容之一:

  • 綠色的
  • 琥珀色
  • 紅色的

如果填入新行或新列,如何使用間接公式單獨計算上述每一項?

注意:每次我在 Excel 中新增列(即:如果我插入新列 [K]),我希望系統從 F1:K202 而不是 E1:J202 計算綠色、琥珀色和紅色單元格。

答案1

使用索引:

=COUNTIFS(INDEX(1:202,1,MATCH(1E+99,1:1)-5):INDEX(1:202,202,MATCH(1E+99,1:1)),"green")

它將找到具有真實日期的最後一列,然後建立包含該日期和左側 5 列的範圍。

如果「日期」實際上是文字而不是真實日期,則使用:

=COUNTIFS(INDEX(1:202,1,MATCH("zzz",1:1)-5):INDEX(1:202,202,MATCH("zzz",1:1)),"green")

答案2

抱歉,我錯過了第一個答案中的問題。

嘗試使用以下公式:

=COUNTIFS(INDIRECT(ADDRESS(1,5)&":"&ADDRESS(202,(COLUMNS($A$1:WZG1)-16221))),"green")

如果您在左側column A或右側新增一列,這將會失敗column WZF

答案3

如果整個範圍儲存格已填充,則使用下列公式取得填充範圍內的最後一個儲存格:

=ADDRESS(COUNTA(E:E),COUNTA(1:1)-COUNTA(A1:D1)+4)

如果 A1:D1 中的所有儲存格也都已填充,則公式可能為

=ADDRESS(COUNTA(E:E),COUNTA(1:1))

在您的間接地址中使用此地址:

=COUNTIFS(INDIRECT("E1:"&ADDRESS(COUNTA(E:E),COUNTA(1:1)-COUNTA(A1:D1)+4)),"Green")

或者,如果 A1:D1 中的所有單元格均已填充,

=COUNTIFS(INDIRECT("E1:"&ADDRESS(COUNTA(E:E),COUNTA(1:1))),"Green")

當然,您可以使用任何其他行和/或列來偵測最後一個儲存格。

相關內容