• ベストアンサー

エクセルの配列定数について教えてください。

=SUM({1,2,3}*{4;5}) この式の意味を教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • nishi6
  • ベストアンサー率67% (869/1280)
回答No.1

列方向に「1,2,3」と並んでいる数値群と、行方向に「4,5」と並んでいる数値群との掛け算をして、合計を計算している式ですね。 配列数式でセルを参照せず直接数値をセットした配列の場合、配列定数といいます。 SUM({1,2,3}*{4;5})=(1×4 + 2×4 + 3×4)+(1×5 + 2×5 + 3×5) です。

関連するQ&A

  • 配列数式がわかりません。

    {=SUM(IF(E4:E18="福岡",G4:G18,0))} という式で正しい答えは出せたのですが、SUMのところをaverageに変更し平均を出そうとしても違う答えが返ってきます。 maxに変更したときは正しい答えが返ってきました。使えるものと使えないものがあるのでしょうか??? 配列数式がいまいちわかりません。よろしくお願いします。

  • Excel 配列数式の応用?

    先の質問で、下記のことができるようになりました。 下記のような土日を除いた日付データでセルA11、A12に期首、期末の日付を指定すると、その期間の合計がセルC11に{=SUM(IF((A1:A9>=A11)*A1:A9<=A12),C1:C9,""))}の式で出せるようになりました。 平均もSUMをAVERAGEに変えて出せるのですが、 期間中のマイナスのデータ個数 =COUNTIF(C3:C9,"<0") のような値を 期首、期末の日付の指定で求める式は、どのような式でできるのでしょうか?お教え下さい。 ( 9行以降は行の挿入で新たなデータが追加されます。A列・・日付 B列・・曜日 C列・・数値等) 列行 A  B  C  1 10/01 金 3 2 10/04 月 0 3 10/05 火 空欄 4 10/06 水 -2 5 10/07 木 文字 6 10/08 金 -1 7 10/11 月 4 8 10/12 火 2 9 10 ------------------------------------ 11 10/04 (期首) 2 (←セルC11にマイナスのデータ数を出したい) 12 10/11 (期末)

  • Excelで使われる「配列計算」について

    こんばんは。 Excelの配列計算について、1から勉強していました。 すると、非常にわかりやすい説明↓ http://home.att.ne.jp/zeta/gen/excel/c01p09.htm を見つけ、読み進めていたのですが…とある箇所で「えっ?」と、わからなくなってしまいました(>_<) リンク先の解説を読み進めていくと、 ・ ・ 人数を求める場合、 {=SUM(((B2:B6="男")+(C2:C6="東京")<>0)*1)} ・ ・ ・ 人数を求める場合は工夫が必要です。 男性かつ東京在住の場合、TRUE+TRUEで2を返してしまうので、人数が二人とカウントされてしまいます。 そこで、<>0(0以外)の条件をつけ再度、TRUE・FALSEの判定をしています。 ・ ・ ・ とありますが、なぜ「<>0」をつけると、計算がうまくいくのでしょうか? 敢えて「<>0」を取り除き、 {=SUM(((B2:B6="男")+(C2:C6="東京"))*1)} のように計算してみると、求めたい人数は「男、または東京に住んでいる人」なのに、「男かつ東京在住」の人を、二重カウントしてしまって、結果が「6」と出てしまいます。(正しくは「4」ですが・・・) 「<>0(0以外)」とは、なぜ必要で、どういう意味を持っているのでしょうか?

  • Excelでの集計

    Aさん用ブック、Bさん用ブック、Cさん用ブック…と人数分+集計用のブックがあるとします。 それぞれのブックには共通の形式で下のようなシートが12枚、つまり1年分あります。   1月    1日  2日  3日…31日 合計    商品1   1              SUM式   商品2        1    1    SUM式   商品3   1              SUM式    …   商品30            2    SUM式   合計   SUM式………       SUM式      集計用のブック(形式は個人用と同じです)で日ごと・月ごとに全員の合計を取りたいのですが、 単純に「(商品数(約30)×毎日)×毎月」×人数でリンクを貼ると、ものすごい容量になってしまいます。 しかも、項目が多い割に殆んどが空欄なので、はっきり言ってムダです。 (1)集計用ブックの容量を出来るだけ軽くしたい(現在、個人用ブックは約130KBです)。 (2)リンク式(集計用の計算式)を出来るだけ単純にしたい。 (3)合計がゼロの欄は「0」を表示しない(「計算しない」ってのは矛盾してますよね?)。 こんな都合のいいことが、Excelで出来ますか?

  • Excelの数式の簡素化について

    =if(isna(VLOOKUP(R1C1,SOMERANGE,2,false)), "", VLOOKUP(R1C1,SOMERANGE,2,false)) =if(sum(SOMERANGE), sum(SOMERANGE), sum(OTHERRANGE)) のように、同じ式を数箇所に含む場合、無駄だなあと思いつつ、いつも仕方なく使ってますが、 もっと式を簡単にする方法はないでしょうか。 これらの式に対する具体例でも構いませんが、一般的にどんな方法が考えられますよ、 というアドバイスをいただけるととてもありがたいです。

  • EXCELのSUM関数について

    EXCELのSUM関数についての質問です。 セルにSUM($A$1:$A$10)という式があった時、A1のセルをA3に移動させると SUMの式がSUM($A$2:$A$10)にかわってしまいます。 A1を固定するにはどのようにすれば良いのでしょうか? どなたかよろしくお願いします。 ([リスト形式および数式を拡張する] というオプションではダメでした)

  • 配列数式がうまくいきません

    現在、部品の管理をする為に配列数式をたてて行っています。 集計表にのセルに以下のような式が入っています。 {=SUM(IF($M$10:$M$500=200711,IF($S$10:$S$500={10,11},$T$10:$T$500,0)))} M列:客先の希望納期(2007年11月) S列:こちらの納品月(10月、11月) T列:納入数量 今は自分で行っておりますので年が改まった場合などに式(希望納期月)を書き換えておりますが、担当者が変わると配列数式を知らない方が行うこともありえるので、あるセル(A1)を参照する形で式を以下のように変更してみました。 このようにすればA1のセルの部分を変更するだけでいけると考えました。 {=SUM(IF($M$10:$M$500=VALUE(A1)&11,IF($S$10:$S$500={10,11},$T$10:$T$500,0)))} しかしながら、この式ではうまく行きません。 この計算式のどこがまずいのでしょうか。 よろしくお願いいたします。

  • 配列の和

    次の、総当りのようなことをしたいのですができません。 例: 配列をtestとして、testの要素数が3で、加算する回数をnとしたとき (n=3) sum=test[0] + test[0] + test[0] sum=test[0] + test[0] + test[1] sum=test[0] + test[0] + test[2] sum=test[0] + test[1] + test[0] sum=test[0] + test[1] + test[1] sum=test[0] + test[1] + test[2] sum=test[0] + test[2] + test[0] sum=test[0] + test[2] + test[1] sum=test[0] + test[2] + test[2] ..... sum=test[2] + test[2] + test[2] ちなみにn≠0です。 nが固定ならできそうなのですが、固定ではないので困っています。 ソースコードまたは考え方を教えてください。

  • エクセルの配列数式、配列定数について教えてください

    エクセルに配列数式、配列定数というものがあることを最近知りました。 エクセルのA1セルに={1,3,3}と入力し、A2セルに=COUNTIF(A1,{1,2,3})と入力すると、 A2セルに1と表示されます。A2には1以外の数字が含まれることは何となく理解できるのですが、どのような計算結果が算出されるのかが理解できません。また、A2の1以外の計算結果を表示させる方法がわかりません。 同様に、A1セルに={1,2,2,3}と入力し、A2セルに=COUNTIF(A1,{1,2,3})と入力した場合(これもA2セルに1と表示されます)のA2の計算結果と表示方法がわかりません。 ご教示をよろしくお願いいたします。

  • Excel vba 配列内の最大値を求めたいです。

    Excel vba をはじめて1ヵ月程度の初心者ですが、すいません質問させて下さい。 動的配列というのでしょうか? その配列の中の最大値を求めたいのですが、よくわかりません。 アクティブシート内の図形で最前面以外の図形を消去しようと思ってます。 マクロで最大値の取得ができないので、暫定的にシートに計算させてしまっているのですが、マクロ上で最大値を求める方法がわかりません。 Sub testSZ() Dim Num As Integer, Sum As Integer, Shp As Shape, Ary() As Variant, Mxm As Long '++++++++++↓アクティブシート内の図形をカウント:=Sum Sum = 0 For Each Shp In ActiveSheet.Shapes Sum = Sum + 1 Next Shp '++++++++++↓配列の数を決定 ReDim Ary(1, Sum) '++++++++++↓配列に図形と図形のZオーダーを設定 Num = 0 For Each Shp In ActiveSheet.Shapes Shp.Select Set Ary(0, Num) = Shp Ary(1, Num) = Selection.ShapeRange.ZOrderPosition Num = Num + 1 Next Shp '++++++++++↓配列内のZオーダー最大値を取得 Mxm = Application.WorksheetFunction.Max '++++++++++↓最前面の図形以外を消去 Num = 0 Do If Mxm > Ary(1, Num) Then Ary(0, Num).Delete End If Num = Num + 1 Loop Until Sum = Num Erase Shp End Sub Application.WorksheetFunction.Max[] の[]にAryやAry(1,Num)をやってみたりしたのですが、 できないです。 どなたか御教授おねがい致します!!

専門家に質問してみよう