- ベストアンサー
EXCELに詳しい方にお尋ねします
EXCELで数式を正しくコピーできません。少し複雑な関数(IF関数とSUMIF関数の併用)を使用したのですが、その際に以下のような現象が 起こりました。 1、1つ目のセルは正しく構築できました。 2、他のセルに、関数の参照先だけを変えて、最初から同じように作り直しても、正しく動作しない(空欄になる) 3、試しに1つ目のセルと全く同じ数式のセルを作成すると、2つ目と3つ目は正しく動作するが、4つ目から正しく動作しなくなる(空欄になる) これって、バグなんでしょうか・・・??EXCELに詳しい方、よろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
> =IF(Sheet1!E:E<>E5,"",SUMIF(Sheet1!E:E,E5,Sheet1!F:F)) この式自体が妙ですね。 ゼロを表示したくないためにIFを使っているようなので、 表示書式を「#,##0;-#,##0;」とすればゼロは表示されなくなるので、IFを使う必要は無くなります。 Sheet1のE列に「科目」、F列に「金額」が縦に並んでいる Sheet1 E F 1 預金 10000 2 交際費 5000 ・ ・ Sheet2 E F 5 預金 交際費 6 300000 10000 としたいとき E6に =SUMIF(Sheet1!E:E,E$5,Sheet1!F:F)) 表示書式を「#,##0;-#,##0;」と設定し右へコピー で如何でしょう。
その他の回答 (2)
- naomii
- ベストアンサー率26% (4/15)
SUMIF関数の参照先とか条件式部分が怪しいような気がしますが…… 正直、情報が無さすぎてわかりません。 問題の数式と参照先の数式を具体的に示していただけたら、回答も早いと思います。
補足
=IF(Sheet1!E:E<>E4,"",SUMIF(Sheet1!E:E,E4,Sheet1!F:F)) 正しく機能した数式は上記の式です。家計簿を作成しようとしていました。 SUMIF関数では、 「範囲」 別シート状のE列(”現金”など分類のための文字が書かれている) 「検索条件」 E4(具体的には”現金”と記入されている) 「合計範囲」 別シート状のF列(具体的な金額が書かれている) の設定をしました。 IF関数では 「論理式」 別シート状のE列にE4がない 「TRUE」 空欄 「FALE」 SUMIF関数の値 の設定をしました。 この数式自体は正しく機能したのですが、同じ要領で作成しても下記の例の ような数式を作成しても全く機能しません。 ex) =IF(Sheet1!E:E<>E5,"",SUMIF(Sheet1!E:E,E5,Sheet1!F:F)) ※E5には”預金”と書かれている 試しに最初の数式を参照先も全くいじらずに、他のセルにコピーをしました。 すると、4つ目にコピーしたセルから機能しなくなり、空欄が表示されるようになりました。 本当に分かりづらい説明ですみません。 たぶん、EXCELがキャパをオーバーしてるのか、バグだと思うので半分諦めています・・・。 アドバイスを頂いたお二人、ありがとうございました。
- fifaile
- ベストアンサー率25% (622/2403)
参照先が正しくないのでは? 単純にコピーすると数式の参照先がずれていきます。 固定するには固定するよう要素に$をつけなくてはいけません。 数式の編集モードに入るとどこのセルを参照してるか表示されるはずです。 参照先を確認してください。
補足
ご回答ありがとうございます。 僕の説明不足ですみません。 参照先は正しく入力できているんです。 例えば、正しく構築できた1つ目のセルの数式も参照先も両方ともコピーして、 貼り付けをしても上記した3のような現象が起こってしまいます。 数式も参照先も同じなのに、正しく動作しなくなる理由って何なのでしょうか・・・。
お礼
ご回答ありがとうございます。 vizzarさんのおっしゃる通りに設定をしたら、ちゃんと出来ました。 そんなやり方があるとは知らなかったので、大変勉強になります。 すごく丁寧に答えていただいて、本当に感謝しています。 ありがとうございます。助かりました。