• 締切
  • 困ってます

配列数式について

  • 質問No.9676514
  • 閲覧数55
  • ありがとう数6
  • 気になる数0
  • 回答数6
  • コメント数0

お礼率 0% (0/6)

SUMIF関数は、参照先のブックを閉じると#VALUEになってしまいますよね?
そうならない為には配列数式を使用すれば良い、とネットで見たのですが

金額種別
500A
200B
300B
300A

例えば上記のような参照先のAの合計金額だけを求める場合、
SUMIF(範囲,検索条件,合計範囲)
これを
{=SUM(IF(範囲=検索条件,合計範囲)}
に直してみると、確かに計算はできたのですが、再度式をクリックしてEnterを押すと
0になってしまいます・・・なぜでしょうか。

わかりにくくてすみません、よろしくお願いします。

回答 (全6件)

  • 回答No.6

ベストアンサー率 43% (3466/7991)

他カテゴリのカテゴリマスター
>確かに計算はできたのですが、再度式をクリックしてEnterを押すと0になってしまいます・・・
計算結果は0にはなりません。
当方の確認では1300になります。

>なぜでしょうか。
数式バーの中をクリックしてからEnterキーを押すと配列数式ではなくなり、計算結果が変わります。
配列数式として確定するにはShiftとCtrlを押しながらEnterを押します。
  • 回答No.5

ベストアンサー率 28% (4503/16080)

>SUMIF関数は、参照先のブックを閉じると#VALUEになってしまいますよね?
そうならない為には配列数式を使用すれば良い、とネットで見たのですが
ーー>SUMIF関数は、参照先のブックを閉じると#VALUEになってしまいますよね
ーー>そうならない為には配列数式を使用すれば良い
これは正しいだろうか?特に後者は。
配列数式は、関数で複数の値を作って複数の値を返し、それを連続セルに入れる仕組みです。「そうならないため」とは関係ないと思う。
普通のエクセルの関数は返す値は、式を入れたセルだけに、1つ返すのです。
その拡張版です。
参考
配列数式の例を、小生が作ってみよう。
F1:I1に11234565 があるとする。
Excelの開発の標準モジュールに、私製関数
Function copyrng(v As Range) As Variant
Dim rtn(15, 0)
i = 0
For Each cl In v
rtn(i, 0) = cl
i = i + 1
Next
copyrng = rtn
End Function
と作って、シートに戻り、A2:A5を範囲指定して、A2がアクチブになっていて、数式バー部に、=copyrng(F1:I1)と入れて、Shift+Ctrl+Enterの3つのキーを同時押しする。
するとA2:A5には
11
23
45
65
となる。元が横の並びも、縦方向の並びに複写(的)されるが(そのことはさておいて)。
言いたいことは、素人でも、配列数式の関数は作れて、その特徴は、関数でも複数(セル)の値を返してくれる仕組みだ、ということ。
ーーー
>{=SUM(IF(範囲=検索条件,合計範囲)}に直してみると
これの意味することは、質問者は、先頭・最初と末尾・最後に{と}を、半角文字で入れて、ENTER
を入れたのではないでしょうね。
これをやると配列数式としての機能が、崩れてしまいます。
Shift+CTRL+Enterの3つのキーを同時押しする結果、見てくれが、最初に{と最後に}が見えるだけで、キーボードから{と}を入力するのではない、ことをご存じですよね。
よく配列数式の解説の注意事項に書いている。
  • 回答No.4

ベストアンサー率 20% (265/1266)

[No.3]の補足、
参考までに、括弧({ })を使わない配列数式もアルデヨ~
E2: =SUMPRODUCT((B$2:B$5=D2)*(A$2:A$5))
此れも立派なハイレツスーシキでっす。
  • 回答No.3

ベストアンサー率 20% (265/1266)

該当セルを選択して、[数式バー]を眺めてぇ~
数式の前後に付いていた括弧({ })が外れてやしませんか?
  • 回答No.2

ベストアンサー率 54% (620/1138)

Excel(エクセル) カテゴリマスター
単にEnterだと(CTRL+SHIFT+Enterじゃないと)配列数式にならない({}が自動で付かない)ので計算が正しく行われません。
結果を報告する
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。
関連するQ&A

その他の関連するQ&Aをキーワードで探す

ピックアップ

ページ先頭へ