- 締切済み
Excel IF関数の使い方について
エクセルで一番上に総合計のセル(B2)があります。 同じシートに、3つの表がありそれぞれ合計が出るようになっています。 その合計を一番上にある総合計に表示させたいのですが、そこで質問です。 1つだけの表を使う場合(1つ目だけの合計の表示の仕方) 1つ目と2つ目の表を使う場合(2つ目の合計の表示の仕方) 1つ目と2つ目と3つ目の表を使う場合(3つ目の合計の表示の仕方) 以上3パターンの表示の仕方で出したい場合、どの様な計算を使用したらいいのでしょうか? セルB2・・・総合計 1つ目の表 M43 2つ目の表に数字が入った場合 M95 3つ目の表に数字が入った場合 M147 例えば、M43が空白の場合とか、M43とM95が空白の場合でもいいですので、教えてください。 要するに、データが増えて一つの表に収まらない場合の計算式を教えて頂きたいのです。 すみませんがよろしくお願い致します。
- みんなの回答 (8)
- 専門家の回答
みんなの回答
- Nouble
- ベストアンサー率18% (330/1783)
いやはや 税込みですか 表にする上で今後長く使えるものという意味においても 課税率を記載する欄があったほうがいいと思います ここではそれを仮にA1とします もし番う場所がお望みなら示させて頂く式を全て入力後 A1を選択してドラッグでずるっとお好みの場所へ動かして頂ければ 変更が完了します B2 =sum($M$4:$M$42,$M$56:$M$94,$M$108:$M$146)*$A$1 M43 =IF(COUNTA($M$56:$M$146)>0,"",sum($M$4:$M$42,$M$56:$M$94,$M$108:$M$146)) M95 =IF(AND(COUNTA($M$56:$M$94)>0,NOT(COUNTA($M$108:$M$146)>0)),sum($M$4:$M$42,$M$56:$M$94,$ $M$108:$M$146),"") M147=IF(COUNTA($M$108:$M$146)>0,sum($M$4:$M$42,$M$56:$M$94,$M$108:$M$146),"") とするか B2 =sum($M$4:$M$42,$M$56:$M$94,$M$108:$M$146)*$A$1 M43 =IF(COUNTA($M$56:$M$146)>0,"",$B$2/A1) M95 =IF(AND(COUNTA($M$56:$M$94)>0,NOT(COUNTA($M$108:$M$146)>0)),$B$2/$A$1,"") M147=IF(COUNTA($M$108:$M$146)>0,$B$2/$A$1,"") 後者のほうが精度は落ちますが SUM関数を省いた分計算が軽くなると思います では関数の説明を 配列数式やベクトル演算を用いるやり方もあるのですが 今回はヘルプに載っている範囲内だけで書きました 使った関数は確か sum・IF・COUNTA・AND・NOTの5つでしたよね ではまず用語から 関数(かんすう) 数学で言うところのそれとほぼ同意 何かのデーターを元に(与えない場合もある)加工して情報を排出するもの 引数(ひきすう) 関数に与えるデータのこと 1つ1つをさして言う場合と全体を指す場合の2通りがある TRUE(ツルー) 2つある論理値の内の1つ 意訳すると「成功」 FALSE(フェイル・フェール) 2つある論理値の内の1つ 意訳すると「失敗」 論理積 (ろんりせき) 与えられた複数の論理値の内1つも「FALSE」が無かった場合は「TRUE」を 1つでもあった場合は「FALSE」を返す 「TRUE」を1、「FALSE」を0と見立てると 与えられた引数を全て掛けたときの結果が0かどうかで同様の演算ができるためこう呼ばれる AND(あんど) 論理積と同意・英語圏での表記 論理和(ろんりわ) 与えられた複数の論理値の内1つでも「TRUE」があった場合は「TRUE」を 1つもなかった場合は「FALSE」を返す 「TRUE」を1、「FALSE」を0と見立てると 与えられた引数を全て足したときの結果が0かどうかで同様の演算ができるためこう呼ばれる OR(おあ) 論理和と同意・英語圏での表記 排他的論理和(はいたてきろんりわ) 2つの論理値を比較し一致しない時のみ「TRUE」を 一致するときは「FALSE」を返す XOR(エクスクルージングオア・エクスクルージブオア) 排他的論理和と同意・英語圏での表記 NOT(ノット) 与えられた論理値の反対のものを返す演算 引数が「TRUE」なら「FALSE」を 引数が「FALSE」なら「TRUE」を返す 論理演算(ろんりえんざん) 主に論理積・論理和・排他的論理和・NOTの4つを総称する言い方 手動で行う場合は真理値表を用いる場合がある NULL(ぬる) なんら値が設定されていないと言う事を示す値 (注1》エクセルでは「FALSE」の代わりに0を、「TRUE」の代わりに0以外を用いても同意とされる) (注2》エクセルでは論理値にその値そのものを変えない演算を加えた場合【「1を掛ける」・「0を足す」など】それぞれ「TRUE」は1を、「FALSE」は0を示す) 次に関数そのものの基本的な動き SUM 与えられた引数の総和(総計)をとる if 基本的に引数を3つ持ち 1つ目の引数が数字の0以外(通常1)か論理値「TRUE」だった場合2つ目の引数に指定されたことを行う 逆に1つ目の引数が数字の0か論理値「FALSE」だった場合2つ目の引数に指定されたことを行う(表示する) COUNTA 与えられた引数内の内 何か値が書き込まれていたり 数式が何かの値を示しているセルの総数を返す(この場合NULL以外という意味) AND 論理積 NOT 論理和 如何でしょうか? お役にたてたなら幸いです 最後にこの式のヒント NULL値を幾つ足しても0にしかならない
- Nouble
- ベストアンサー率18% (330/1783)
度々済みません 更に訂正です M95 =IF(AND(COUNTA(M56:M94)>0,NOT(COUNTA(M108:M146)>0)),"",B2) と書きましたが M95 =IF(AND(COUNTA(M56:M94)>0,NOT(COUNTA(M108:M146)>0)),B2,"") の誤りでした 以下修正済み B2 =sum(M4:M42,M56:M94,M108:M146) M43 =IF(COUNTA(M56:M146)>0,"",B2) M95 =IF(AND(COUNTA(M56:M94)>0,NOT(COUNTA(M108:M146)>0)),B2,"") M147=IF(COUNTA(M108:M146)>0,B2,"") PS 特定セルへの外部セルからの値書き込みが出来ればもっと簡単なのですけどね
補足
ありがとうございます。 申し訳ありませんが関数の意味を載せていただけるととても 有難いのですが・・・。 それと、B2のセルは税込金額にしたいのです。 もう一度よろしくお願いいたします。
- Nouble
- ベストアンサー率18% (330/1783)
肝心の式を間違えてました M43 =IF(COUNTA(M56:M146)>0,"",B2) M95 =IF(AND(COUNTA(M56:M94)>0,NOT(COUNTA(M108:M146)>0)),"",B2) M147=IF(COUNTA(M108:M146)>0,B2,"") 陳謝 <(_ _)>
- Nouble
- ベストアンサー率18% (330/1783)
「表」と仰っているものを「領域」と読み替えました そして 1つ目の表を領域1 2つ目の表を領域2 3つ目の表を領域3 としました ・領域2がヌルの場合は領域3も必ずヌルである ・領域1には必ず数値が入っている ・小計はM43・M95・M147の内のいずれか1カ所のみしか表示されてはいけない ・常に総合計は表示されている と言う前提で話をします また、此処で私が示すよりもスマートな方法が他にありますが 標題に沿ってIF構文の使用例として回答します B2 =sum(M4:M42,M56:M94,M108:M146) M43 =IF(COUNTA(M56:M146)>0,"",COUNTA(M4:M42)) M95 =IF(AND(COUNTA(M56:M94)>0,NOT(COUNTA(M108:M146)>0)),"",SUM(M43,M56:M94)) M147=IF(COUNTA(M108:M146)>0,SUM(M95,M108:M146),"") 前提条件と意図されているものと合ってれば幸いです
- NIWAKA_0
- ベストアンサー率28% (508/1790)
どうにもわかりづらいのですが、 M43:一つ目の表の合計 M95:一つ目と二つ目の表の合計 M147:一つ目と二つ目と三つ目の表の合計 M44:M43×消費税率 M96:M95×消費税率 M148:M147×消費税率 ってことでいいですか? で、B2には、 M147+M148 なければ、M95+M96 なければ、M44+M43 を出したい、と。 ご質問を素直に式にすると、 =IF(M147>0,M147+M148,IF(M95>0,M95+M96,M43+M44)) です。 でも、私ならM43、M95、M147には一つ一つの表の小計を出しておいて、 総計(税込み)は =ROUNDDOWN((M43+M95+M147)*1.05,0) とします。 あとあとの融通を考えるなら、各表の小計はN列に出しておいて、 ついでにC1に消費税率(例えば0.05)を入れておき、 =ROUNDDOWN(SUM(N:N)*(1+C1),0) これで表が増えても消費税率が変っても面倒がありません。
補足
どうもありがとうございます。 実際にやってみますね! 本当に、ありがとうございました。
- klus
- ベストアンサー率50% (2/4)
下記の内容ならば・・・ M43=SUM(M4:M42)、M44=ROUNDDOWN(M43*0.05) M95=SUM(M43,M56:M94)、M96=ROUNDDOWN(M95*0.05) M147=SUM(M43,M95,M108:M146)、M148=ROUNDDOWN(M147*0.05) ・ ・ ・ の例でやるとどうでしょうか? また・・・ B2=(最終データのある表の小計セル)+(同消費税セル) でいかがでしょうか? (関数等を利用してもっと簡単に出来るかもしれませんが;;) >表1の範囲はM4:M42でM43小計 M44消費税、 >表2の範囲がM4:M42とM56:M94でM95小計 M96消費税(表1と2の合計の消費税) >表3の範囲がM4:M42とM56:M94とM108:M146でM147小計 M148消費税(表1と2と3の合計の消費税)
補足
どうもありがとうございました。 参考になりました。
- mshr1962
- ベストアンサー率39% (7417/18945)
意味がよく解らないのですが... まず表1の範囲はA4:M43、表2の範囲がA56:M95、表3の範囲がA108:M147 で各40行の表としてM43,M95,M147には何が入ってるのですか? 行の消費税を計算した数値?各表の合計値?それとも前の表を含んだ累計値? それによってB2の数式が変わってきますが...
補足
表1の範囲はM4:M42でM43小計 M44消費税、 表2の範囲がM4:M42とM56:M94でM95小計 M96消費税(表1と2の合計の消費税) 表3の範囲がM4:M42とM56:M94とM108:M146でM147小計 M148消費税(表1と2と3の合計の消費税) です。 説明が下手ですみません。 わかりますか?
- chie65536
- ベストアンサー率41% (2512/6032)
空白セルはゼロとして扱われるので、単に =M43+M95+M147 って書けば良い。
補足
すみません。では、もう一つ質問します。 B2は《税込合計》 M43小計 M44消費税 M95小計 M96消費税 M147小計 M148消費税 の場合、それぞれの消費税の計算をすると 3つの表の合計をした時と別々で計算をした時の消費税の金額が 変わってしまうので、 M95には2つの表の合計が、そしてM147には3つの表の合計が 入って、それぞれ消費税の計算も合計からしているのですが、 そういう場合はどうすればいいのでしょうか?
お礼
細かいご説明本当にどうもありがとうございます。 とても勉強になりました。 実際に関数を入れて作成してみたいと思います。 また、今後ともよろしくお願いいたします。