
Excel 間接数式に関する別の質問です。
列 E1:J202 には、次のいずれかが入力されています。
- 緑
- アンバー
- 赤
新しい行または列が入力された場合、間接式を使用して上記のそれぞれを個別にカウントするにはどうすればよいですか?
注: Excel に新しい列を追加するたびに (つまり、新しい列 [K] を挿入する場合)、システムが E1:J202 ではなく F1:K202 から緑、黄、赤のセル数をカウントするようにします。
答え1
INDEX を使用します:
=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))
INDIRECT ではこのアドレスを使用します:
=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")
もちろん、最後のセルの検出には別の行や列を使用することもできます。