[[20090715115405]] 『SUMIF関数が正確に計算してくれません』(しごとちゅう) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『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

seiyaさん

 文字列にスペースはありません。
 通常であれば、いちごの合計は950となるはずですが、500となっている状態です。
 もちろん、本当のデータベースには、例にあげた元データよりもたくさんのデータが保存されています ので、簡単にココが足りない!という訳にいかないのですが・・・

 という事は、A4の いちご を認識していないということですよね?
 データの問題だと思いますが?
 そのデータは他のアプリから貼り付け/インポートされたデータですか?
 制御コードが入っているかもしれませんね...
 (seiya)

半平太さん

A1にしてみましたがやはり、だめでした。

seiyaさん

他のデータから貼り付けています。
制御コードとは何でしょうか?


http://e-words.jp/w/E588B6E5BEA1E382B3E383BCE38389.html

 以下のことを試してください。

 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

seiyaさん

実行してみましたが、変化はありませんでした。

半平太さん

行ってみようと思うのですが、すみません・・・

 =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.