[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『SUMIF関数が正確に計算してくれません』(しごとちゅう)
すでに2日間悩んでいるのですが、解決されないため質問させていただきます・・・
どなたか助けてください!
▼シート1
A B 1 いちご \500 2 すいか \900 3 ぶどう \300 4 いちご \450 5 ぶどう \600
▼シート2
A B 1 いちご シート1の合計数値 2 ぶどう シート1の合計数値 3 すいか シート1の合計数値
上記のようにシート1に元データ、シート2計算するためのデータを組み込んでいます
Bに組み立てている計算式は下記の通りです。
=SUMIF('シート1'!$A$1:$A$5,"いちご",'シート1'$B$1:$B$5)
※シート1 列Bは数値に変更済み
※シート1 列Aはシート2 列Aと同じになるよう、文字を貼り付け済み
しかし、シート2 セルBの合計数値が正しくありません。
何か原因が分かる方がいましたら教えてください。 宜しくお願いします。
どのように「合計数値が正しくありません」なのでしょう? シート1のA列の文字列に余計なスペースとか入っていませんか? (seiya)
>※シート1 列Aはシート2 列Aと同じになるよう、文字を貼り付け済み
・・であるなら、 ではないですか? それで解決するかどうかは分かりませんが(筋として) ↓ =SUMIF('シート1'!$A$1:$A$5,A1,'シート1'$B$1:$B$5)
(半平太) 2009/07/15 12:29
文字列にスペースはありません。 通常であれば、いちごの合計は950となるはずですが、500となっている状態です。 もちろん、本当のデータベースには、例にあげた元データよりもたくさんのデータが保存されています ので、簡単にココが足りない!という訳にいかないのですが・・・
という事は、A4の いちご を認識していないということですよね? データの問題だと思いますが? そのデータは他のアプリから貼り付け/インポートされたデータですか? 制御コードが入っているかもしれませんね... (seiya)
A1にしてみましたがやはり、だめでした。
seiyaさん
他のデータから貼り付けています。
制御コードとは何でしょうか?
以下のことを試してください。
1) A列を選択 2) 置換で 検索する文字列 に Alt+009 (009はナンバーキーより入力) 置換後の文字列 は空白 3) 2) 検索する文字列 に Alt+160 で実行 これで、多分削除されると思います。 (seiya
A1とA4が絶対に同じだ、という主張であれば、 >※シート1 列Bは数値に変更済み こちらに問題があることも推測できます。 変更前が文字列だった場合、書式設定を数値に変更するだけでは、 数値として認識されない可能性があります。 B4をダブルクリック、エンターで計算されるなら、 B列選択して、データ>区切り位置>完了 としてみてください。
どのデータがおかしいかは、こんな式でチェック出来ると思います。
C1セル =IF(Sheet2!$A$1=A1,ISNUMBER(B1)*B1,"") これを下にコピー
<Sheet1>
行 ____A____ _B_ _C_ 1 いちご 500 500 2 すいか 900 3 ぶどう 300 4 いちご 450 0 ←おかしい 5 ぶどう 600 6 いちご 777 ←おかしい
いちごの行で正しく出てこなければ、 (1)「いちご」に見えても「いちご」ではないか、 (2)「数値」 に見えても「数値」 ではない。
(半平太) 2009/07/15 13:14
実行してみましたが、変化はありませんでした。
半平太さん
行ってみようと思うのですが、すみません・・・
=IF(Sheet2!$A$1=A1,ISNUMBER(B1)*B1,"") の「*B1」はどのような意味になりますか?
数式に入力ミスがなければ
Sheet1のA列 B列 Sheet2のA列
それぞれのデータのどこかになんらかの問題があるということです。 悩んでいる時間があるなら
Sheet1のA列 Sheet2のA列 を 「手入力で」入力し直す
どこかあいているセルに 1 を入力して そのセルをコピー Sheet1のB列を範囲指定して 形式を選択して貼り付け → 乗算
原因を調べることはできませんが この作業が確実だと思います。
(えくせる青年)2009/7/15 14:37
しごとちゅうさん、
どこかの空いているセルに =Sheet1!A4="いちご" として、True/False どちらが返るか検証してください。 もしTrueだったら、B列の問題でしょうね. (seiya)
みなさん
お忙しい中ありがとうございます。 どうやら、数字の部分が「数値」になっていなかったようです・・・ 何度も「乗算」処理(えくせる青年さんにも教えていただいた方法)を行っていたのですがまったく数値に変更されません・・・
このようなことはあるものなのでしょうか? もはや手入力でないと無理なのでしょうか・・・
しごとちゅう
B列で「置換」して、「区切り位置」を試してもだめですか? と書いたところで、 数値ではない、ということは \500がそのまま文字列として入っているということ? それなら、 =SUMIF('シート1'!$A$1:$A$5,"いちご",'シート1'$B$1:$B$5) は0が返りませんか? (seiya)
C1に =VALUE(CLEAN(B1)) と入れて下へフィル で、数値になりますか?
(momo)
えくせる青年さんの乗算の方法で数値化できるのは、 数字が表示形式で文字列になっていたり、 数字&文字列の組み合わせでも、エクセルが数値と認識できる場合のみです。 エクセルが数値として認識できない単位と数字の組み合わせ(例:500円、650Kcal等) にいくら「1」を乗算しても数字にはなりません。 (みやほりん)(-_∂)b
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.