海外旅行から帰ってきたら、まず何を食べる?

1行おきのセルの合計数式結果が0になってしまいます。エクセル

データ範囲がE2からU117あり、E列のE2から1行おきに数値E116までを合計するため
E118に次の数式を入力しました。
=SUM(IF(MOD(ROW(E2:E117),2)=MOD(ROW(E2),2),E2:E117))
Ctrl+Shift+Enterすると結果が0になってしまいます。

指定の行には数値以外に「-(ハイフン)」や、範囲行に数式が入っていたりするからでしょうか?

  E
2   50  ←足したい
3  数式
4   -  ←足したい
5  数式
・    

117  150  ←足したい
118  数式
119  =SUM(IF(MOD(ROW(E2:E117),2)=MOD(ROW(E2),2),E2:E117))

A 回答 (9件)

>0になってしまう数式は対象外の奇数列に入力します。


>E3(対象外の奇数列)=E2(1行おきの対象セル)/E117(1行おきの合計値)

情報不足だったのですが「0」と表示される原因がわかりました。
E3セルを計算するのにE3セルを含む範囲の数式を使っているため、数式が循環参照になっています。

この場合は、循環参照の警告ダイアログが表示され、ご質問のように、そのセルに「0」と表示されます。

循環参照を避けるには、E3セルを参照する数式はE3セル以外に入力する必要があります。
    • good
    • 0
この回答へのお礼

納得です・・;

奇数行は表の見せ方上、必要なため、
1行おきの合計値を、本来の表の合計欄(見せるよう)に値で貼り付けることにしました。

長々お付き合いいただき、ありがとうございました。

お礼日時:2010/07/29 15:16

参考までに。



偶数行に文字列が入ったデータをSUMPRODUCT関数で集計したいなら、引数を以下のようにカンマで区切ったSUMPRODUCT関数を利用します(文字列は無視されて計算されます)。

=SUMPRODUCT((MOD(ROW(E2:E117),2)=0)*1,E2:E117)

このような数式は、いずれも偶数行にエラー値が入っている場合は、数式全体でエラー値を返して「0」にはならないはずですので、本当に「0」が表示されるのであれば他の原因(SUMPRODUCT関数以外の場合はCtrl+Shift+Enterで配列数式にしていないなど)が考えられます。

いずれにしろ、エラーのセルの行番号が偶数行になっていないかなど、表のレイアウトが正しく設定されているかどうかを含めて、十分に検証する必要がありそうです。
    • good
    • 0

基本的に表のレイアウトを正しく表現していないような気がします。



>データ範囲にあった数式がエラー(DIV)だったため、
一旦、数式をクリアにしたら結果がでました。

エラーの出ている数式が集計対象外の奇数列に入っているなら、問題なく集計できるはずです。

>ただ、一旦、クリアにした数式を入力したら、今度はこの数式結果が0になってしまいました・・・

補足説明の意味が良くわかりません。

「クリアにした数式を入力したら」とはどのような式をどこのセルに入力したのでしょうか?

>1行おきの合計値を分母に、指定行のセルを分子にして割合を算出したかったのですが。

分母と分子を数式でそれぞれ算出して割り算すれば良いだけのことだと思うのですが、何が問題になっているのでしょうか?

この回答への補足

返信ありがとうございます。
説明が下手ですみません。

>エラーの出ている数式が集計対象外の奇数列に入っているなら、問題なく集計できる
奇数列の数式のことでしたので、原因はこれではなかったということですね。

0になってしまう数式は対象外の奇数列に入力します。
E3(対象外の奇数列)=E2(1行おきの対象セル)/E117(1行おきの合計値)

MackyNo1さんの言うとおり、何か表組でおかしいところがあるかもしれませんので、
シートをクリアにして一から作り直してみます。

補足日時:2010/07/29 13:28
    • good
    • 0

例データ


a2:a8
2

AAAA

---

15
ーー
式 =SUM(IF(MOD(ROW(A2:A10),2)=0,A2:A10,0))と入れてshift+ctrl+enterで
結果
17
文字列やーに変えても(空白範囲を含めても)答えがエラーになったり0には鳴らなかったが。
ーー
質問の(IF(MOD(ROW(E2:E117),2)=MOD(ROW(E2),2),E2:E117)はIFがfalseの時のことが記述が無いが。
    • good
    • 0
この回答へのお礼

ご丁寧な回答、ありがとうございます。
データ範囲にあった数式がエラー(DIV)だったため、
一旦、数式をクリアにしたら結果がでました。

なお、質問文の式はマイクロソフトのサポートサイトにあったものを流用しました。

お礼日時:2010/07/29 11:05

No.1です!


たびたびごめんなさい。

質問文をよく読み返してみると・・・
>指定の行には数値以外に「-(ハイフン)」や、範囲行に数式が入っていたりするからでしょうか?

とありますので、前回の数式ではエラーになると思います。

お示しの数式を配列数式にすればちゃんと表示されました。
こちらで質問文にある数式をそのままコピー&ペーストし、配列数式にしたら
「-」があっても「文字列」であっても問題ないみたいですよ。

他の式としては
=SUM(IF(MOD(ROW(E2:E117),2)=0,E2:E117))
(配列数式)でも大丈夫みたいです。

他の方の回答も配列数式ですべて大丈夫だと思います。

どうも何度も失礼しました。m(__)m

この回答への補足

ただ、一旦、クリアにした数式を入力したら、今度はこの数式結果が0になってしまいました・・・
1行おきの合計値を分母に、指定行のセルを分子にして割合を算出したかったのですが。

これは別の質問ですよね。。

補足日時:2010/07/29 11:22
    • good
    • 0
この回答へのお礼

すばやいご回答、ありがとうございます。

メール転送指示を忘れてしまい、御礼が遅くなってしまいすみません。

データ範囲にあった数式がエラー(DIV)だったため、
一旦、数式をクリアにしたら結果がでました。

お礼日時:2010/07/29 11:10

E2セル以下の偶数行の合計をするのであれば、数式自体に間違いはありません。



いくつか回答が寄せられていますが、No1の回答を除けば基本的に質問で提示されている数式と同じ数式ですので、「0」と表示されることになります。

もし、No1の回答で「0」以外の数字が出るのであれば、その数字が文字列数字ということになります。

偶数行の数字が手入力したものなら、その列を選択して「データ」「区切り位置」で「完了」してみてください。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

お寄せいただきた式は、すべて、
データ範囲にあったエラー数式(DIV)を、一旦クリアにしたら結果がでました。

なんでできないのかが不明だったため、このようなご回答は助かります。

お礼日時:2010/07/29 11:16

もう少し、シンプルに




=SUM(IF(MOD(ROW(E2:E117),2)<>1,E2:E117))


としても同じ結果になりますか?
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

こちらの数式でも
データ範囲にあったエラー数式(DIV)を、
一旦クリアにしたら結果がでました。

お礼日時:2010/07/29 11:11

現在の方法ならば以下の方法で如何でしょうか。


=SUM(IF(MOD(ROW(E2:E117),2)=0,E2:E117))
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

こちらの数式でも
データ範囲にあったエラー数式(DIV)を、
一旦クリアにしたら結果がでました。

お礼日時:2010/07/29 11:12

こんにちは!


一例です。

=SUMPRODUCT((MOD(ROW(E2:E117),2)=0)*(E2:E117))

ではどうでしょうか?

以上、参考になれば良いのですが・・・m(__)m
    • good
    • 0

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