- ベストアンサー
入力対象のセルが空白の時、合計欄も空白にする方法はありますか?
- 各月の合計欄が空白になるような数式を探しています。
- 数式自体が長くなってしまい、要約できる数式があれば教えてください。
- 現在の数式では合計のセルに「0」が表示されてしまいます。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
その他の回答 (3)
- tom04
- ベストアンサー率49% (2537/5117)
No.1です。 何も入力がない場合は「0」でなく、空白にしたい!というコトですね。 既存の関数で色々やってみましたが、やはりコツコツやるしかないように思います。 ↓の画像でZ6セルに =IF(COUNT(B6,D6,F6,H6,J6,L6,N6,P6,R6,T6,V6,X6),SUM(IF($B$5:$Y$5=Z$5,$B6:$Y6)),"") これは配列数式になりますので、Ctrl+Shift+Enterで確定! この画面からコピー&ペーストする場合は 上記数式をドラッグ&コピー → Z6セルを選択 → 数式バー内に貼り付け → そのまま(編集可能なまま) Ctrl+Shiftキーを押しながらEnterキーで確定! 数式の前後に{ }マークが入り配列数式になります。 このZ6セルを隣りのAA6セルまでコピー → そのまま下へコピー! これで画像のような感じになります。 ※ ユーザー定義関数を作れば対応できそうですが、 このためだけの関数になります。 とりあえずはこの程度で・・・m(_ _)m
お礼
tom04さん、色々考えていただいてありがとうございました。 参考にさせていただきます。 それと「SUMPRODUCT」も関数は初めて知りました。今後、利用していきたいと思っています。 本当にありがとうございました。 <m(__)m>
- keithin
- ベストアンサー率66% (5278/7941)
添付の数式は字が小さくて読み取れません。実際の数式は無視して、ご相談の言葉で言いたかったことだけを解決します。 3行目にAやBが記入してあるとして B列から1月(のA)が始まってるとして >入力対象のセルが「空白」の時、合計欄が「空白」に表示させる…のように長くない数式 Aの合計:Z4 =SUMIF(B$3:Y$3,"A",B4:Y4) セルの書式設定の表示形式のユーザー定義で # または #,### と設定する Bの合計:AA4 =SUMIF(B$3:Y$3,"B",B4:Y4) セルの書式設定の表示形式のユーザー定義で # または #,### と設定する
補足
ご解答ありがとうございます。 添付していた画像では見えづらかったと思います。申し訳ありませんでした。 添付している表はお分かりと思いますが、1月~12月までの「A」と「B」をそれぞれ合計する表ですが、 私は関数を利用し始めの初心者で、最初は次のような関数を1行目の合計の「A」に入力しました。 =IF(B6&D6&F6&H6&J6&L6&N6&P6&R6&T6&V6&X6="","", SUM(B6,D6,F6,H6,J6,L6,N6,P6,R6,T6,V6,X6)) 次にネットで調べて配列数式というのを知り2行目の合計の「A」に下記のような関数を入力しました。 {=IF(B7&D7&F7&H7&J7&L7&N7&P7&R7&T7&V7&X7="","", SUM(IF(MOD(COLUMN($B7:$Y7),2)=0,$B7:$Y7,0)))} 私の説明不足で申し訳ありませんでしたが、1月の「A」~12月の「A」まで「0」の場合もあり、 合計が「0」を表示しないといけない場合があります。それで、「0」を入力した場合も「0」を 表示するように、と思っていました。 セルの書式設定の「#」などを設定するのは承知していましたが、「0」の表示が出来ないので 上記のような関数を使っていました。 もし他に方法があるなら、それを教えていただければ幸いです。 keithinさんに頂いたご解答はこれからの勉強に使わせていただきます。 ありがとうございました。
- tom04
- ベストアンサー率49% (2537/5117)
こんにちは! 微妙な違いですが・・・ 偶数列の場合 =IF(SUMPRODUCT((MOD(COLUMN(B6:X6),2)=0)*1,B6:X6),SUMPRODUCT((MOD(COLUMN(B6:X6),2)=0)*1,B6:X6),"") 奇数列の場合 =IF(SUMPRODUCT((MOD(COLUMN(C6:Y6),2)=1)*1,C6:Y6),SUMPRODUCT((MOD(COLUMN(C6:Y6),2)=1)*1,C6:Y6),"") としてみてはどうでしょうか?m(_ _)m
補足
ご解答ありがとうございます。 私は関数を利用し始めの初心者で、初めて見る関数なのだったので少し戸惑いながら入力して試してみました。 ただ私の説明不足で申し訳ありませんでしたが、「0」を入力した場合も「0」を表示するように、 と思っていました。 1月の「A」~12月の「A」まで「0」の場合もあり、合計が「0」を表示しないといけません。 それで最初は =IF(B6&D6&F6&H6&J6&L6&N6&P6&R6&T6&V6&X6="","", SUM(B6,D6,F6,H6,J6,L6,N6,P6,R6,T6,V6,X6)) の関数を入力していました。 次にネットで調べて配列数式というのを知り、 {=IF(B7&D7&F7&H7&J7&L7&N7&P7&R7&T7&V7&X7="","", SUM(IF(MOD(COLUMN($B7:$Y7),2)=0,$B7:$Y7,0)))} の関数を入力しました。 両方の関数でも「0」を入力した時、「0」を表示します。 (添付していた画像では見えづらかったと思います。申し訳ありませんでした。) もし他に方法があるなら、それを教えていただければ幸いです。 tomo4さんにご解答頂いたご解答はこれからの勉強に使わせていただきます。 ありがとうございました。
お礼
早速教えていただいた関数を入力しました。私が思っていたように表示します。 なおかつ配列にしなくてもいいし、数式自体もすっきりしています。 keithinさん、色々考えていただき本当にありがとうございました。 <m(__)m>