アプリ版:「スタンプのみでお礼する」機能のリリースについて

 Excelを最近になって職場で使い始めました。
初心者ですのでよろしくお願いします。

 「パソコン(25%)」,「プリンタ(55%)」のような列の中から
%の前の数字の部分だけを抽出したいのですがうまくできません。
MIDやLEFTだと、%の前の部分の文字数が同じでないといけないし、、。

 今は隣の列に数字だけを手入力して、その数値を使って
計算しているのですが面倒なので、なにかいい手段があれば
教えてください。
 

 

A 回答 (6件)

以下の条件を仮定して作ってみました。


ご参考になれば^^;
条件
文字列がA列に入力されている。
数字は1箇所だけで、連続して入力されている。
数字の左側は半角の(、右側は半角%が入力されている

B列に、=FIND("(",A1,1)
C列に、=FIND("%",A1,1)
D列に、=MID(A1,B1+1,C1-D1-1)
と入力するとD列に数値が表示されるはずですが^^;

はずしてたらごめんなさい
    • good
    • 0

残念


ネスト数の壁に阻まれてしまいました

=sumproduct(VALUE(CHAR((1-ISERROR(VALUE(MID($B$4,COLUMN(OFFSET($A$1,0,COLUMN(A1)-1,1,LEN($B$4))),1))))*CODE(MID($B$4,COLUMN(OFFSET($A$1,0,COLUMN(A1)-1,1,LEN($B$4))),1))+ISERROR(VALUE(MID($B$4,COLUMN(OFFSET($A$1,0,COLUMN(A1)-1,1,LEN($B$4))),1)))*48))*10^(LEN($B$4)-COLUMN(OFFSET($A$1,0,0,1,LEN($B$4)))))/100

最後の「/100」が情けないですが参考にどうぞ

基本的な考え方は
「プリンタ(55%)」を「{"プ","リ","ン","タ","(","5","5","%",")"}」に分解し
それぞれの要素に対し数値かの判定をして
数値でないものに「0」を割り振って
「{"0","0","0","0","0","5","5","0","0"}」として
これを再数値化
「{0,0,0,0,0,5,5,0,0}」として
その上で各要素に
「{10^8,10^7,10^6,10^5,10^4,10^3,10^2,10^1,10^0}」を掛けて
「{0,0,0,0,0,5000,500,0,0}」としておいて
これの総和を求めて0を2つ切り捨ててます

0を2つ切り捨てる部分も関数でフレキシブルに表現できるのですが
既にこの時点でネストの壁に引っかかったので
思考が止まりました (ーー;)
    • good
    • 0

◆%の前に限らず、文字と文字の間の数字を抽出します


  A          B
1 パソコン(25%)  25
2 プリンタ(55%)   55

B1=--MID(A1,MIN(FIND({0,1,2,3,4,5,6,7,8,9},A1&1234567890)),LEN(A1)*10-SUM(LEN(SUBSTITUTE(A1,{0,1,2,3,4,5,6,7,8,9},))))
★下にコピー
    • good
    • 1
この回答へのお礼

返信が遅くなりました。
ありがとうございました。
まさしくこれです。

お礼日時:2007/02/02 18:30

文字列に必ず数字と、その後ろの"%"が存在するなら


=MID(ASC(A1),MIN(FIND({1,2,3,4,5,6,7,8,9,0},ASC(A1)&1234567890)),FIND("%",ASC(A1)&"%")-MIN(FIND({1,2,3,4,5,6,7,8,9,0},ASC(A1)&1234567890)))
で数字部分のみを取り出せます。数値と"%"がない場合は#VALUE!エラーとなります
    • good
    • 0

A1に文字列が入ってるとして、



=MID(A1,FIND("(",A1,1)+1,FIND("%",A1,1)-FIND("(",A1,1)-1)

などで出来ます。合わない部分は修正して使用してください。
    • good
    • 0

こんにちは。



文字列として取り出す
=SUBSTITUTE(RIGHT(A1,FIND("(",A1)-1),")","")

さらに数値化したいなら
=VALUE(SUBSTITUTE(RIGHT(A1,FIND("(",A1)-1),")",""))

とか。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!