• ベストアンサー

Excelで参照をして計算式を作る方法

こんにちは。 Excelの数式で困っていますので、教えて下さい。 下のようなExcelの表で、 A2~D2、A3~D3、A4~D4の【数】にはゼロを含む何らかの数字が入ってて、 【空】は空欄です。    A列 B列 C列 D列 E列 1   1   2   3   4 2   数  数  数  数 3   空  数  数  数 4   空  空  数  数  E2、E3、E4に数式を入れたいのですが、2~4行目の数字が入っているか 入っていないかを1行目の数字に対応させて、 A2、A3、A4に数字が入っていれば、A1の数字を計算に入れて、空欄であれば 計算にいれない。 E2には1+2+3+4で【10】 E3には2+3+4で【9】 E4は3+4で【7】 というふうに数字が入っている欄だけを1行目の数字を絶対参照して合計を求めたいのです。 SUMIFという関数を使って、E2にSUMIF(A2:D2,▲,$A$1:$D$4)という式を入れてみたのですが、▲には半角スペース・*(アスタリスク)・?(クエスチョンマーク)などを入れてみたのですが、エラーで計算が成り立ちません。 ▲のところに【空欄】という意味のものを入れたいのですが、それがあるのかないのかわかりません。 もしくは、この数式を使うのではなく、他の数式を利用するのでしょうか? 説明が分かりにくいかもしれませんが、よろしくお願いします。

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

  • ベストアンサー
  • dailylab
  • ベストアンサー率51% (267/514)
回答No.3

あ、これでいけたっぽいです。 どうでしょう? [E2]=10-SUMIF(A2:D2,"",$A$1:$D$4)

chiichan21
質問者

お礼

回答ありがとうございます。 この方法と、No2の方法、どちらも数式が成り立ち、解決しました。 【空欄】というのは""で表すのですね。 勉強になりました。

その他の回答 (4)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.5

列数が多くなると面倒 セルの値が数かどうかのチェック(他にもチェックを入れることができる) を入れるため、下記をやってみました。 第1行目の1,2,3,4は自由に変えられます(式を変える必要なし)。 ーー 例データ 1 2 3 4 1 5 3 2 10 =1+2+3+4 2 3 5 9 =2+3+4 aa 3 2 &nbsp; 7 =3+4 s 1 s 2 =2 4 3 =3 a b c d 0 a s 0 F列は、=sm(A2:D2) と入れる。A2:D2は対象列が増えればD2のところを増やす。そして下方向に式を複写。 ーー ユーザー関数はBVEの標準モジュールに Function SM(a) t = 0 For Each cl In a If cl <> "" And IsNumeric(cl) Then t = t + Cells(1, cl.Column) End If Next SM = t End Function をコピペしておく。

chiichan21
質問者

お礼

回答ありがとうございます。 初心者にはやり方が少し難しくて・・・。 せっかく回答していただいたのに、知識不足ですいません。

  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.4

次の方法は如何でしょうか。 =SUMIF(A2:D2,"<>",$A$1:$D$1)

chiichan21
質問者

お礼

この数式でも数式が成立しました。 【空欄】を表すのには、""のほかにも、"<>"も使えるんですね。 勉強になりました。 ありがとうございました。

  • squip
  • ベストアンサー率16% (2/12)
回答No.2

セルE2の式 =SUMPRODUCT(NOT(ISBLANK(A2:D2))*$A$1:$D$1)

chiichan21
質問者

お礼

回答ありがとうございます。 この数式で無事解決しました。 助かりました。

  • dailylab
  • ベストアンサー率51% (267/514)
回答No.1

やりたい事・質問の意味はよくわかってませんが SUMIF(A2:D2,▲,$A$1:$D$4)の▲のところに【空欄】という意味のものを入れたいのであれば SUMIF(A2:D2,"",$A$1:$D$4) で良かったような気がします...

chiichan21
質問者

お礼

早々の回答ありがとうございます。 No3の方法で無事解決しました。 ありがとうございました。

chiichan21
質問者

補足

E2の式ですが、E1にSUM(A1:D1)を入れておいて、 $E$1-(SUMIF(A2:D2,▲,$A$1:$D$4) という式でした。

関連するQ&A