アプリ版:「スタンプのみでお礼する」機能のリリースについて

 各月をA・Bに分け、そのそれぞれの合計を表す数式を入れた添付しているような表を作成しました。
各月に未入力の空白の時は合計の欄も空白になるように最初は(1)の数式を入れました。
しかし見ていただくとわかるように数式自体が長くなり、ネットで調べて(2)のような数式を入れました。
でも(2)も「&」で長々となるので、配列数式で出来ないかと(3)のようにしたところ合計のセルは「0」が表示されました。
 私の勝手な解釈ですが(3)の=IF((MOD(COLUMN($B8:$Y8),2)=0)="","",・・・・・は「偶数列のセルが空白なら空白の表示」になると思いこの様にしたのですが結果は「0」の表示です。
  (パソコンの「OS」は「XP」でエクセルは古いですが「エクセル2000」を使用しています。)
 入力対象のセルが「空白」の時、合計欄が「空白」に表示させるような(1)・(2)のように長くない数式が出来ないでしょうか。
 お知恵をお貸し願えればと思い、初めて質問をさせていただきました。
 宜しくお願いします。

「入力対象のセルが空白の時、合計欄も空白に」の質問画像

A 回答 (4件)

>「0」を入力した場合も「0」を表示する



添付図:
Z4
=IF(SUMPRODUCT(($B$3:$Y$3=Z$3)*($B4:$Y4<>"")),SUMIF($B$3:$Y$3,Z$3,$B4:$Y4),"")
右にコピー、下にコピー

でいいです。

配列入力する必要はありません。ふつーに記入します。
Z3、AA3を使わずに式中に"A"や"B"で計算しても、もちろん構いません。
「入力対象のセルが空白の時、合計欄も空白に」の回答画像4
    • good
    • 0
この回答へのお礼

 
  早速教えていただいた関数を入力しました。私が思っていたように表示します。
 なおかつ配列にしなくてもいいし、数式自体もすっきりしています。
  keithinさん、色々考えていただき本当にありがとうございました。
    <m(__)m>

お礼日時:2014/09/13 22:13

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
「入力対象のセルが空白の時、合計欄も空白に」の回答画像3
    • good
    • 0
この回答へのお礼

 tom04さん、色々考えていただいてありがとうございました。
 参考にさせていただきます。
  それと「SUMPRODUCT」も関数は初めて知りました。今後、利用していきたいと思っています。
 本当にありがとうございました。
   <m(__)m>
 
 

お礼日時:2014/09/13 22:03

添付の数式は字が小さくて読み取れません。

実際の数式は無視して、ご相談の言葉で言いたかったことだけを解決します。



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さんに頂いたご解答はこれからの勉強に使わせていただきます。
  ありがとうございました。

補足日時:2014/09/12 10:44
    • good
    • 0

こんにちは!



微妙な違いですが・・・
偶数列の場合
=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さんにご解答頂いたご解答はこれからの勉強に使わせていただきます。
   ありがとうございました。

補足日時:2014/09/12 10:19
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!