[[20040629091848]] 『文字列を計算したい』(ひかる) >>BOT

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

 

『文字列を計算したい』(ひかる)

単位の100個とか100T(文字列)を計算したい場合はどうしたらいいのですか?

単位 100個
仕入れ価格 57  
 単価
 在庫数
 在庫金額

上記の様な場合、単価は仕入れ価格÷単位ですよね。
単位が文字列のため、計算できません。何か良い方法はありませんか?

エクセルは2000 で OSは MEです。 大量にデータがあって困ってます。助けてください。


 A1に100個とか50ケースと入力されている場合には、
 =LOOKUP(99^9,--LEFT(A1,ROW(1:16)))としますと、その数値が抽出できます。(LOOKUP)


 単位のセルなど、数値と単位に分けたらいかがですか?
	A	B
1	単位
2	100	個
3	12	本
のようにすると、数式も単純になると思います。
おっと、大量にデータがあるのですか・・・
今更遅いですね・・・失礼しましたm(_ _)m
 (Hatch)


 質問者(ひかる)さんを差し置いて失礼致します。m(_ _)m
(LOOKUP)さんの数式・・・すごいですね!!
そのまま下へコピーしたら4行目以降エラーになりました??が、
ROW関数内を$付きにしたらOKでした。
数式が理解できないので、申し訳ありませんが解説をお願いしたいのですが・・・
(疑問点:LOOKUP関数でセル内の数字だけがなぜ返されるの???)
外出しますので、すぐには見ることができませんが、是非お願い致します。
ちなみに、私は↓のような3文字目まで対応の式を書いて匙を投げました・・・(^^;)
=IF(ISNUMBER((LEFT(A1,LEN(A1)-1))*1),LEFT(A1,LEN(A1)-1)*1,IF(ISNUMBER((LEFT(A1,LEN(A1)-2))*1),LEFT(A1,LEN(A1)-2)*1,LEFT(A1,LEN(A1)-3)*1))
 (Hatch)


はじめて投稿します。
 表示形式 ⇒ ユーザー定義で、単位をつけて 0,00"個" とする方法は
いかがしょうか?

                               浦上真介


 単位が1文字で限定されていれば、
 A1に100個、B1に価格が入っていて、単価をC1に出すとして
 C1のセルに =B1/LEFT(A1,LEN(A1)-1) で計算できると思います。
 もし2文字の単位があれば、上の式の -1 を -2 にして下さい。(スー)


 >そのまま下へコピーしたら4行目以降エラーになりました??が、
 >ROW関数内を$付きにしたらOKでした。
 ROW(1:16)の部分は、{1;2;3;4;5;6;7;8;9;10;11;12;13;14;15;16}の意味ですから、
 他のセルに複製する場合には、ROW($1:$16)ですね。定常的に使用する場合には、
 =IF(COUNT(LEFT(A1)),LOOKUP(99^9,--LEFT(A1,ROW($1:$16))),"")などでどうでしょう。

 100ケースの場合では
 =LOOKUP(99^9,--LEFT(A1,ROW(1:16)))の--LEFT(A1,ROW(1:16))は、下のようになるでしょう?
 =LOOKUP(99^9,配列)で配列の一番奥の数値を抽出しています。
 6月30日支給や9時50分出発なども抽出できます。          (LOOKUP)

 1
 10
 100
 #VALUE!
 #VALUE!
 #VALUE!
 #VALUE!
 #VALUE!
 #VALUE!
 #VALUE!
 #VALUE!
 #VALUE!
 #VALUE!
 #VALUE!
 #VALUE!
 #VALUE!
 

 本題ではありませんが、関数の計算内容を個々に確認する方法
 
LOOKUPさんの数式を例に取ると
 
=LOOKUP(99^9,--LEFT(A1,ROW(1:16)))
 
を数式バーへ表示させた状態で
LEFT(A1,ROW(1:16))の部分を数式バー内でマウスドラッグなどして
範囲選択、反転表示状態にします。
反転表示した状態で F9 キーを押すとLEFT(A1,ROW(1:16))だけの計算
結果を確認することが出来ます。
 
(確認後はそのままEnterすると計算結果のまま確定してしまうので、
Escで計算処理を抜けるようにします)
他人の作った数式がどんな処理をしているかわからない時、
また、作った数式にエラーがでてどの部分が原因か確認する時には便利です。
(KAMIYA)


 単価は先ほどの数式で計算できますが、在庫数や在庫金額などのことも
 考えると、単位がついていると数値では厄介ですから
 =LEFT(A1,LEN(A1)-1 で数字だけ取り出し、別なセルに表示してから、
 単価計算や在庫数を計算するようにしてはどうでしょうか?(スー) 


 (LOOKUP)さん、(KAMIYA)さん、回答ありがとうございます。
まだ、PCにしがみついていました(^^;)
帰ってから、じっくり勉強させて頂きます。
取り急ぎ、お礼まで・・・では、
(ひかる)さん、おじゃましましたm(_ _)m (Hatch)


 もしも、この数式に興味があるようでしたら、このようなものもあります。
 左右両方向から変換に行っています。↓                 (LOOKUP)
[[20040624101709]] 『深夜残業計算』(ku)


 =LOOKUP(99^9,--LEFT(A1,ROW(1:16)))
 =LOOKUP(99^9,--RIGHT(A1,ROW(1:16)))
を、メモ帳に記録致しました。
これで、インポートしたデータの処理が楽になりそうな予感がします。
また、F9の使い方も確認しました。
 
#『深夜残業計算』の方は"私の脳"が受け入れを拒否しました。(笑)
# こんな複雑な数式は考えられないと、見ただけで退散致しました。
# 結構、面倒臭がり屋なもので、申し訳ありません。
 
ご両人の回答によりいい勉強ができました。感謝!致します。 (Hatch)


コメント返信:

[ 一覧(最新更新順) ]


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