• ベストアンサー

エクセルを使った条件付き表計算の方法を教えて下さい

いつも皆様方の的確なる回答を拝見して感心しております。 そこで、私の質問にお答えいただきたいと思います。 質問は、いたって簡単な表計算です。 しかし、少しひねっております。 これはあくまで例で、実際はもっといろいろなセルがあります。 例) A1,A2を一つのセルに結合し、その結合したセルを仮に"A"とします。 B1,B2をそれぞれ"前半"と"後半"とします。 以上を1つのグループとして以下、"B"、"C"、"D"、"E"と計5つのグループがあり、その合計を出したいのです。 しかし、条件が2つあります。 条件その1:AからEグループの前半もしくは後半に数字が入れば、その合計を計算して表示する。しかし、数字が入らなければ計算をしない。 条件その2:計算をした場合についてはその数字を"("、")"で囲む。 なお、合計の"数字"と"("、")"の関係は一つのセル内であっても、それぞれ3つのセルに分かれていてもオーケーです。 こんな感じになります。 -----+-------------- 前半 1 A +------+-------- 後半 -----+------+-------- 前半 2 B +------+-------- 後半 -----+------+-------- 前半 3 C +------+-------- 後半 -----+------+-------- 前半 4 D +------+-------- 後半 -----+------+-------- 前半 5 E +------+-------- 後半 -----+------+-------- 前半 (15) 合計+------+-------- 後半 --------------------- ちょっと説明がうまくできなくてスミマセンが、よろしくお願いします。

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

  • ベストアンサー
回答No.1

この例題をそのまま式にすれば、 =IF(AND(C1="",C3="",C5="",C7="",C9=""),"",SUM(C1,C3,C5,C7,C9)) か、もしくは =IF(COUNT(C1,C3,C5,C7,C9)>0,SUM(C1,C3,C5,C7,C9),"") で答えはでると思います。 答えをカッコでくくる場合は =TEXT(選択セル,"(#,###)")でできますが、数字がテキストになってしまいますので、それがいやなら関数を使わずに「セルの書式設定」で表示形式をユーザー設定でカッコをつけてしまえばいいと思います。

A-kamada
質問者

お礼

回答ありがとうございました。 どうも私の質問に問題があり、みなさまには非常にご迷惑をおかけしたみたいで、お詫び申し上げます。 しかしnobitahairさんは私の質問を真剣に考え、答えていただき非常に感謝しております。私が質問した内容はnobitahairさんによって、解決しました。 どうもありがとうございました。 ところで現在、今回質問した内容の発展型?の質問を考えております。 もう少しわかりやすく、するつもりですのでその時はよろしくお願いします。

その他の回答 (4)

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

>A1,A2を一つのセルに結合し、その結合したセルを仮に"A"とします 漢字はつかめるがAグループとでも言ったほうがよいよう。結合するとセルはA1に代表されます。 >B1,B2をそれぞれ"前半"と"後半"とします B1,B2には文字列の前半や後半が入っているのか B1,B2に数字が入るのか(空白の場合があるとしても) C1,C2などに数字が入るのか >前半もしくは後半に数字が入れば >数字が入らなければ計算をしない。 数字と空白しかないのか、文字列なども入るのか。数字を強調するとそういう風にかんぐる。 >その合計を計算して表示する 合計は前半だけの合計、後半だけの合計ですか、前半も後半もあわせての合計ですか。何か特別の計算ですか。 >計算をした場合についてはその数字を"("、")"で囲む。 各加算要素セルに()をつけるのか、合計値セルだけに()をつけるのか これは関数式ではできないでしょう。書式でも条件付の書式に表示形式の 選択はないので難しいでしょう。 結局VBAでやらざるを得ないが、毎回やる仕事でなければ、人手で操作 すればどうですか。

A-kamada
質問者

お礼

imogasiさんのご指摘を肝に銘じ、こりずに現在、今回質問した内容の発展型?の質問を考えております。 もう少しわかりやすく、するつもりですのでその時はよろしくお願いします。

  • shiotan99
  • ベストアンサー率68% (140/203)
回答No.4

No.3です。 もし、B列に入っているのが、「前半」「後半」の文字で、数字はC列に入っているのなら、 B11:=SUMIF($B$1:$B$10,"前半",C$1:C$10) B12:=SUMIF($B$1:$B$10,"後半",C$1:C$10)

A-kamada
質問者

お礼

回答ありがとうございました。 どうも私の質問に問題があり、みなさまには非常にご迷惑をおかけしたみたいで、お詫び申し上げます。 私の質問に問題があるにもかかわらず、非常に丁寧に回答いただき感謝しております。 現在、今回質問した内容の発展型?の質問を考えております。 もう少しわかりやすく、するつもりですのでその時はよろしくお願いします。

  • shiotan99
  • ベストアンサー率68% (140/203)
回答No.3

こんにちは~ No.2 の方に同じく、 > しかし、数字が入らなければ計算をしない。 の意味がよくわかりませんでした。 合計が 0 になる場合は非表示にしたい、ということでしたら、合計を出すセル(B11:B12?)の表示形式を「ユーザー定義」で No.2の方の回答のようにした上で、 B11:=SUMPRODUCT((MOD(ROW(B$1:B$10),2)=1)*1,B$1:B$10) B12:=SUMPRODUCT((MOD(ROW(B$1:B$10),2)=0)*1,B$1:B$10) B11の数式は、 B1:B10 のうち、奇数行だけを計算します。 B12の数式は、 B1:B10 のうち、偶数行だけを計算します。 的外れでしたらごめんなさい。

noname#11836
noname#11836
回答No.2

>数字が入らなければ計算をしない。 の意味が不明ですが、 単にゼロ表示しない ということで用足りるなら、 合計欄のセルの書式設定を (#,###);(-#,###); にするだけで、目的に合うと思います。

A-kamada
質問者

お礼

回答ありがとうございました。 どうも私の質問に問題があり、みなさまには非常にご迷惑をおかけしたみたいで、お詫び申し上げます。 ok20050706さんのおっしゃるとおり、意味がよく分からないですねぇ。 現在、今回質問した内容の発展型?の質問を考えております。 もう少しわかりやすく、するつもりですのでその時はよろしくお願いします。

関連するQ&A

  • Excel ある条件で大量のデータを計算するには

    Excelで、縦は500行からそれ以上あるデータを下記の条件で計算を行いたいのですが、どのようにしたら宜しいでしょうか。 大量のデータであっても、簡単に計算が可能な方法をご教授頂けると有難いです。 1)A+Bでマイナス200で計算されたセル(Bが-200のセル)は、ここで完了するので、C'とD'とFでは計算しません。 2)Bが0で尚且つCが-200以下のセルのみ、A+Cで計算し、ここで完了するので、D'とFでは計算しません。 3)上記1)2)でマイナスされず、Dに-200の数値が入っているもののみ、A+Dで計算し、ここで完了するので、Fでは計算しません。 4)上記1) 2) 3)でマイナスされなかったセルのみ、FでE-Aの値を計算します(B’, C’, D’の数値は特に残す必要がなくFの結果だけ分かれば良いです)。Fでは、上記 1) 3)でマイナスされた場合-200の数値、また上記 2)でマイナスされた場合その数値(例えば-300、-500など)をセルに表示させる必要があります。 ※ BとDは、0か-200の値が入っています ※ Cは全て0かマイナスの値ですが、様々な数字が入っています ※ Eにも様々な値が入っています ※ B,C,Dには既に計算式が入っています 分かりづらく申し訳ありません。 具体的には、このように計算を行いたいです。  A    B   B’   C   C’    D   D’   E    F 15750 ー200 15550 ー450 15550  ー200 15550 15600 ー200 15680    0 15680 ー200 15480  ー200 15480 15550 ー200 15550 ー200 15350  ー30 15350    0 15350 15480 ー200 15460   0 15460  ー300 15160 ー200 15160 15260 ー300 15380 ー200 15180 ー130 15180 ー200 15180 15300 ー200 15550   0 15550 ー500 15050 ー200 15050 15000 ー500 15540   0 15540  ー20 15540 ー200 15340 15550 ー200 15530   0 15530  ー10 15530   0  15530 15630 100 15620   0 15620  ー80 15620   0  15620 15600 ー20 B’(上記1)の条件) C’(上記2)の条件) D’(上記3)の条件) F (上記4)の条件) Windows 8.1でして、Excelのバージョンは2013です。 大変申し訳ございませんが、解り易いご回答をお待ちしております。 どうぞ宜しくお願い申し上げます。

  • エクセルを用いた表計算について教えて下さい。

    現在、仕事で予算の計算するためにエクセルを使って、表計算をしようと思っております。ところが少し特殊な計算のため、どうもうまく計算が出来ません。どなたか教えていただけないでしょうか。 言葉では説明が非常に難しいので、下に例を作ってみました。 よろしくお願いします。 A B C D |----|------|---------|---------| 1 |A店|変更前| (65,000)| | 2 | |変更後| 50,000| 32,000| |----|------|---------|---------| 3 |B店|変更前| (55,000)| | 4 | |変更後| 45,000| 44,000| |----|------|---------|---------| 5 |C店|変更前| | | 6 | |変更後| 35,000| 15,000| |----|------|---------|---------| 7 |D店|変更前| | | 8 | |変更後| 10,000| 31,000| |----|------|---------|---------| 9 |E店|変更前| (21,000)| | 10| |変更後| 17,000| 19,000| |----|------|---------|---------| 11|合計|変更前|(186,000)| | 12| |変更後| 157,000| 141,000| |----|------|---------|---------| C11の合計の計算は以下のとおり。 C1に数字が入力してあれば(カッコ)を付けC1の数字+ C3に数字が入力してあれば(カッコ)を付けC3の数字+ C5に数字が入力されていなければ(カッコ)をつけずC6の数字+ C7に数字が入力されていなければ(カッコ)をつけずC8の数字+ C9に数字が入力してあれば(カッコ)を付けC9の数字+

  • エクセル2007 条件付き書式

    エクセル2007の条件付き書式で教えてください。 エクセル表で時間計算をしたいのですが、手入力した時間の合計があるセルの時間と違っていた場合に条件付き書式でセルに色をつけたいのですが方法がわかりません。 A1 開始時間 B1 終了時間 C1時間計算(B1+1-A1) D1事務a E1事務b F1事務c のようなエクセル表をつくり、C1以外の部分は手入力してます。 D1+E1+F1の入力がC1の自動計算部分と違っていた場合に色をつけてわかるようにしたいです。 条件付き書式のC1のセルの値がD1+E1+F1と違ったらというのを使ったのですが、計算式が入っているせいか思ったように機能してくれません。 どのようにすればできますでしょうか?また条件付き書式で数式を使う場合はどのようにすればよいでしょうか?アドバイスお願いいたします。

  • エクセル(excel)の計算式(関数)について

    エクセル(excel)の計算式(関数)でよいアイディアがありましたら教えてください。 1行目は項目行です。 セルA1から右に15列=セルO1まで、 a | b | c | d | e | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 と入っています。 2行目からデータとして、 セルA2から右に5列=セルE2まで、 4 | 2 | 2 | 1 | 1 と入力したとします。(データ例(1)) あるいは、 セルA3から右にセルE3まで、 6 | 3 | 0 | 0 | 0 と入力したとします。(データ例(2)) 1つのデータの5個の数字のルールは2つで、 「合計で10以下である。」 「左から順に小さくなるか、同じ数字となる。」 です。 (目的は、) このとき、F列からO列にかけて、 データ例(1)のケースでは、 a | a | a | a | b | b | c | c | d | e データ例(2)のケースでは、 a | a | a | a | a | a | b | b | b | と表示されるように、 つまり、項目行の下にある数だけ、その列の1行目の記号を 1(F列)から右に向かって順に埋めていくような、 F列からO列までの2行目以下に入れる適当な計算式(関数)は ないでしょうか。 拙い説明で申し訳ありません。どなたかよい考えをお持ちの方がいらっしゃいましたらと存じます。 どうぞよろしくお願い致します。

  • オリジナルの エクセルの計算式を作りたい

    エクセルにおいて このような式を作りたいのですが どのようにすればよいでしょうか? 例  1,000円を4か月で割る場合。 この場合。 A1 B1 C1 D1 E1 250円 250円 250円 250円 =1,000円 E1/4 B1/4 C1/4 D1/4 でうまく配分できますが 端数が出る場合の配分の仕方をしりたいので どななたか分かる場合、具体的な数式を 教えて頂けないでしょうか? A1 B1 C1 D1 E1 534円 532円 532円 532円 =2,130円 条件ですが、B1~D1までの数字を同じ数字にして配分する   A1は、合計-(B1~D1を足した物)=A1となる。 この条件を満たす式を教えてください。 宜しくお願い致します。

  • エクセルにおける複数条件抽出

    すみません、教えて下さい。 エクセルで複数の条件に合ったセルを返したいです。 どんな計算式になりますか? 教えてください。 例)       4   10   12   22   A  100  120  140  150   B   5    8   10    11   C   29   29   29   18   D   1    3    1    4   上記のような表の中から    『Aで10の場合』は“120”    『Cで12の場合』は“29”   と言った感じで、フィルターを使わないで数字を出す計算式って   ありますか?   ちなみに、Aと10は別々のセルです。   2個のセルを一つの表と照らし合わせて、その結果を   1つのセルに返したい。 知っている方、申し訳御座いませんが宜しくお願いします

  • LOTO6データをエクセルで計算

    友人からLOTO6のデータを計算して欲しいと依頼されました。 1行のA1からG1まで7個の数字が並んでいます。 例)1、10、18、26、30、38、13 この数字を、1~7をA、8~14をB、15~21をC、22~28をD、29~35をE、36~43をFと自動的に計算する式を教えて頂きたいのです。 同じ行の数字の隣りより7個のセルにABCDEFBと計算出来る方法は有るのでしょうか? 1個づつのセルの計算でも構いませんので 宜しくご教示賜ります様お願い致します。

  • MSエクセルで計算式のコピー

    SUMIF関数を使いたく、表を作成しC,Dセルを結合し 計算式を結合したセルに、例えば=SUMIF($C$3:$C$11,$B15,E$3:E$11) と記述し、同じ行のE,Fセルを結合しこの計算式をコピーすると 計算式が=SUMIF($C$3:$C$11,$B15,G$3:G$11)となってしまいます。 計算式が=SUMIF($C$3:$C$11,$B15,F$3:F$11)となって欲しいのですが、 コピーの仕方が間違っているのでしょうか教えて下さい。

  • エクセルでの計算式について

    エクセルで集計表を作成しています。 重要度によってランク付けし計算をしたいと思っていて 例えばAランクなら5・Bランクなら4という風に係数を掛けるように 計算式を設定したいのですが、 例えばB1セルにAと入力してその裏にA=5として認識させておいて C1セルに50,000といれておきD1セルに計算式(=B1*C1)を入力して合計が出るようにしたいのです。 Aと入力せずに5と入力しておけばいいのでは?と思われると思うのですが数字ではなくランクとして見せておきたいのです。 教えて下さい。宜しくお願いします。

  • エクセル条件付書式について

    皆さんこんにちわ。 エクセルで分からない事があるので質問させてください。 (1)A1セルに数字が入ってる場合だけB1セルに色付け (2)A1A2セルに数字が入ってる場合はC1C2セルに色付け (3)A1A2A3セルに数字が入ってる場合はD1D2D3セルに色付け (4)A1A2A34セルに数字が入ってる場合E1E2E3E4セルに色付け 常に(1)~(4)の条件の中から一つの条件だけ適用。 一つの条件適用時は他の条件は適用させない。 上記のような事をしたいのですが、どうすれば良いでしょうか? わかりずらい説明かもしれませんが、ご教授お願いいたします。

専門家に質問してみよう