- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:配列数式の怪)
配列数式の入力方法と行番号の可変について
このQ&Aのポイント
- 質問者はExcel2003でWBSを作りながら配列数式を使用しようとしていますが、行番号を可変にする方法に困っています。
- 試行錯誤の結果、一旦全て削除してから特定の行番号を変えることで目的を達成できました。
- 配列数式入力時の仕様や正しい入力方法について教えてください。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
C3:C6を選んだ状態で数式を記入、Ctrl+Shift+Enterするとそうなります。 C3単独を選んで配列数式として記入、下向けにオートフィルドラッグすればOKです。 #参考 C3に =IF(SUMPRODUCT(($D$2:$F$2="○")*(D3:F3="○")),"○","") をふつーに記入、下向けにコピーしても出来ます #参考 ○しか記入しないなら C3に =IF(SUMPRODUCT(1*(D$2:F$2=D3:F3)),"○","") 以下コピーでも出来ます。
その他の回答 (1)
- keithin
- ベストアンサー率66% (5278/7941)
回答No.2
SUMPRODUCT関数を使う事で、「配列入力(Ctrl+Shift+Enter)」をしなくても「配列計算」をしてくれます。 エクセルが実際にどのように計算を進めているのかは、数式タブにある「数式の検証」の機能を使い、計算を1ステップずつトレースして理解してください。 必ず「正しく作動する数式」をキチンと作成して(教わって)から、それを数式の検証を使って勉強し、身に着けてください。
質問者
お礼
レスポンス遅くなりました。 回答ありがとうございました。 お陰様で配列数式でもSUMPRODUCTでも実現できました。 他の人がメンテナンスすることも考えてSUMPRODUCTで実装することにしました。
お礼
早速の回答ありがとうございます。 確かに最初にC3に配列数式として入力してからオートフィルするか普通にコピーすればできました。 最初にC3:C6を選択してしまったのが敗因のようです。 これは、C3:C6も1つの配列として扱われてしまうということですかね。 また、SUMPRODUCTを使う方法では、配列数式を使わなくて済むのですね。 他の人が見た時にはこちらの方が分かり易いかもしれませんね。 ただ、この場合、SUMPRODUCTの引数として渡している配列としては1つしかありませんが、これは、 SUMPRODUCT(($D$2:$F$2="○")*1,(D3:F3="○")*1) として計算されていると考えて良いのでしょうか?