[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『関数の一部が集計されないのは何故?・』(まる)
エクセルは習い覚えで使用しているものです。
頑張って作成した関数ですが、トラブルがおこってしまいました。
お分かりになる方、助言をいただければ有難いです。
ある表(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)
> 後は、VALUE関数という関数も用意されています。
> =VALUE(MID(・・・))
ありがとうございます。覚えておきます。
実は、今回MID関数も初めて使用しました。
習い覚えで使っているので、トラブルが起きたときに解消できなくて・・・・
御助言とても助かります。
これでなんとか、期日中に対応できそうです。
ありがとうございます。
(まる)
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.