[[20110223215022]] 『関数の一部が集計されないのは何故?・』(まる) ページの最後に飛ぶ

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

 

『関数の一部が集計されないのは何故?・』(まる)

エクセルは習い覚えで使用しているものです。

頑張って作成した関数ですが、トラブルがおこってしまいました。
お分かりになる方、助言をいただければ有難いです。

ある表(3つのセルで一組、50台分〔B1:B150〕)があり、
縦に並び替え(=でセルb指定)ました。
この時点でセル 行3×列50(B5:D155)です。

それを、一定の条件(IF関数)で抽出(B61:D211)し、DSUM関数で合算させようとしたのです
が、50個のデータのうち35くらいは計算するのですが、それ以上は計算しません。

不思議に思って、コピーして「形式を選択」で値だけ貼り付けてみました。

合算した値は右寄りに表示され、合算しなかった値はそうではありません。
合算されなかった値にカーソルをあわせ、ENTERを押すと右に寄り、合算されます。

このままだと、すべてにおいて確認せねばならず、かなり時間がかかってしまいます。

解消法を御存知のかた、どうぞ御教授おねがいいたします。 

エクセル2000、ウインドウズXPです。


 何かのタイミングで 数値が数字に成ってしまっているのではないかと思います。

 たとえば、「1」を入力すると 右寄りに表示されます。・・・値として認識されている
 「A」を入力すると、左寄りに表示されます。・・・・・・・・文字として認識されている

 どの時点で文字になってしまっているのでしょう?
 最初から(B1:B150にある時から)該当部分は文字ですか?
 それとも、色々な処理をしている内に文字になってしまっていますか?

 TYPE関数で調べてみてください。
 「1」なら数値 「2」ならテキスト です。

 >IF関数で抽出
 >DSUM関数で合算
 これらの数式は、具体的にどのような数式を使っていますか?

 (HANA)  

ありがとうございました。
解消しました。

HANAさんありがとうございます。

TYPE関数、「2」でした。

原因も判明しました。
元のデータ50台分のうち、35台分は直接入力、15台分はデータの中からMID関数でひろってきたものです。
このMID関数の分が、数字でした。
自分が原因です・・・。

中央揃えで見た目には分かりませんでした。

御助言ありがとうございます。
助かりました。

(まる)


 MID関数やRIGHT関数,LEFT関数は
 文字列で返してくれますからね。。。

 *1 とか -- とかで 数字を数値に変換するのを良く見かけます。
 =MID(・・・)*1

 後は、VALUE関数という関数も用意されています。
 =VALUE(MID(・・・))

 いずれも、MID関数の結果が文字(数でない)場合は
 エラーに成るので エラー処理が必要になってくるかもしれません。

 たとえば元のデータが数だけの場合は
   A1セルの「12345」から「23」をとりだす
   =INT(MOD(A1,10000)/100)
 なんて事も出来るかもしれません。
 これなら、結果は値です。

 ご参考まで。。。

 (HANA)

>.*1 とか -- とかで 数字を数値に変換するのを良く見かけます。
> =MID(・・・)*1

> 後は、VALUE関数という関数も用意されています。
> =VALUE(MID(・・・))

ありがとうございます。覚えておきます。
実は、今回MID関数も初めて使用しました。

習い覚えで使っているので、トラブルが起きたときに解消できなくて・・・・
御助言とても助かります。

これでなんとか、期日中に対応できそうです。
ありがとうございます。

(まる)


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.