• ベストアンサー

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/17068)
回答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

  • EXCELでの参照

    1つ目のデータ…A列に名前 B列に数字 2つ目のデータ…D列に名前 E列に数字 1つ目と2つ目のデータを比較した場合 A列の名前からD列の名前と同じものを選び出して その隣にある数字に関して以下の様にしたい場合 ・同じ数字だった場合、F列に0もしくは空欄 ・違う数字だった場合、F列にEの数引くBの数 を反映させたいです。どうしたらいいでしょうか? (名前の並んでいる順番はAとD列では揃っていない場合)

  • エクセルで空欄時に計算しない方法は

    皆様こんにちわ エクセルで次のようにして勤務時間を計算しているのですが D列(勤務開始時間)E列(勤務終了時間)F列(実働時間)G列(早出残業時間) 現在G列には次の数式が入っています =IF( MIN( "8:00",E2)>MAX( "4:00",D2),(MIN( "8:00",E2)-MAX( "4:00",D2)),0) +IF((MIN("22:00",E2)>MAX("18:00",D2)),(MIN("22:00",E2)-MAX("18:00",D2)),0) この数式ですとD・E列が空欄の場合G列に8:00が表示されてしまいます。 D・E列が空欄の場合G列に計算をさせない(もしくは0:00と計算)させるには どうすればよいでしょうか

  • EXCELの計算式の解除方法について

    EXCEL2003を使っています。 例えば2行B列に100と数字が入れてあって 2行A列に数式=2b*0.7と入れてあって、70と記載されているとします。 2行B列の数字を変更しても、2行A列の数字70を残したいのですが、 計算式の答えに対して、計算式の解除ができますでしょうか。 宜しくお願い致します。

  • エクセル・計算式のコピーについて

     A     B      C D E F G 1 3213    3213 2 4566    4566 3       4566 4       4566 5 1234   1234 上記のようにA列に数字が入っていますがところどころ空欄があります。 B列に=IF(A2="",B1,A2)という式を入れて下までコピーし 空欄を全部穴埋めしたいですが 計算式を下までコピーするとき空欄があるのでダブルクリックしても 空欄の前で計算式のコピーがとまってしまいます。 A列の一番下までポインタをもっていってコピーしてるのですが 行が多く時間がかかります。 空欄があっても、もっと手軽にコピーできる方法はないでしょうか? ご存知の方宜しくお願いします。

  • EXCEL 空欄の時は空欄にする方法

    EXCEL よろしくお願いします。 d8~d100までこれからいろいろなデータが入ってきます。 今は空欄です。 E8~E100まで既に計算式が入っていますので数字が出ています。 E8に数字が入っていますが D8が空欄の時はE8を空欄にしたいのですが IF関数ですか。よくわかりませんが、E列を空欄にする方法を教えてください。よろしくお願いします。

  • Excelの数式の打ち込み方で???

    Excelで、Aに対してbは何割にあたるのか、割合を計算する数式を使いたいのですが、どのように数式をうちこんだらよいのでしょうか? もう少しくわしく言いますと・・・。 E列に2行目から10行目までのセルに、9つの数(仮にb)が打ち込まれています。それらの数が、D列11行のセル上の数(仮にA)に対して、何割にあたるのかを自動的に計算したいのです。 b÷Aでその割合は出るわけですが、Excel上ではどのように処理すればその計算ができるのかよくわかりません。 fxのところから数式を打ち込もうと思っても、関数の種類がアルファベットでならび、どれを選択したらよいのかもわかりません。 わからないことの説明がへたで申し訳ありませんが、もし質問の意味がわかり、やり方がわかる方がいらっしゃいましたら、ご回答ください。 数式関係に不慣れですみません。 よろしくお願いします。

  • Excelでの計算式について

    いつもこちらでお世話になってます。 早速ご質問ですが、題名の通り、計算式をどのようにすればわからず、教えていただきたいと思い、ご質問させていただきました。 B列には、A列に番号を入力すると、データがでてくる(ほかのシートから反映されるように)ような計算式を入れています。 なので、見た目は空欄でも、計算式は入っています。 そして、B列に表示されているところの数を10行めに表示させたいのです。 いままでは手で数えていたのですが、数式がわかれば、楽だなぁ~と思いました。 いろいろやってみたのですが、計算式がB列全てに入っているため、何も表示されていないところも、全てを数えてしまいます。 数式が入っていても、表示されているところだけを合計する計算式はありますでしょうか? わかりずらくてすみません。 アドバイスよろしくお願いいたします。

  • エクセルで行から数値を検索し、検索した数値のある列

    エクセルで行から数値を検索し、検索した数値のある列から左側の全ての合計を求めたいです。   A B C D E F 1  3 4 8 9 11 22 ←数字は隙間なくあるが、値がバラバラ(ただし昇順) 2 3  2~6行には色々な数字がまばらにある 4 5 6 1行目から検索したい数→10(別のセルで数式結果として出た数) ズレてるかもしれませんが・・・ E1セルに書かれている「11」の数字より前のD列、 A~D列の2行目~6行目の合計を各行ごとに別々に出していきたいです、どうしたらいいでしょうか また、表は行も列もデータを追加していく予定です

  • エクセルの参照方法で教えてください

    エクセルでとても困っています。 よろしくお願い致します。 seet1の A列に1,2,3・・・・と番号が振ってあり B列~F列 それぞれの数値が入っていて seet2でその数値を編集しています。 例えば今現在、 =SUMIF(Sheet1!A:A,1,Sheet1!D:D) =SUMIF(Sheet1!A:A,2,Sheet1!D:D) =SUMIF(Sheet1!A:A,3,Sheet1!D:D) とA:A,の後にseet1のA列に入っている番号を手動でいれているのですが これを何か関数を足すこととかで自動的に番号部分を参照することは可能なのでしょうか? 単純な作業なのですがかなり沢山あるので手動でやっているとこのまま夜が明けてしまいそうなのです(TT) どなたかお助けください。 よろしくお願いします。

  • EXCELの計算式(%に応じて点数を割り振る)

    以下のようなEXCELのセルがあります。 A列 任意の数字 B列 任意の数字 C列 任意の数字 D列 C列÷(A列-B列)の結果を、小数点2ケタ以下切り捨て E列 D列の数字を10倍した値 この時、D列、E列にはどのような数式が入るのでしょうか? 関数がよくわかりません。 恐れ入りますが教えて頂けますでしょうか。

専門家に質問してみよう