• ベストアンサー

エクセルで計算不能な数字文字列を、計算可能にしたい。

ネット上から数表をエクセルにコピーすると、表面上は普通の数字でも、加除計算不能な場合(25円などの形式も含めて)があり、現在小生は次のような初歩的な方法で計算可能数字に変換しています。もっとスマートな方法があると思うので、ご教示ください。 仮にA1に計算不能数字「152」とあれば、B1に「=LEFT(A1,3)」とやり、更にC1に「=B1*1」とやってC列に計算可能な形式にコピーしています。この初歩的方法だとメンドクサイ上に、B1には数字の桁数をイチイチ指定しなければならないのです。

質問者が選んだベストアンサー

  • ベストアンサー
  • mshr1962
  • ベストアンサー率39% (7418/18948)
回答No.3

=LEFT(A1,LEN(A1)-1)*1 または =VALUE(LEFT(A1,LEN(A1)-1)) でも元の25円の方を25に変更 セルの書式設定で表示形式をユーザー定義にして #,##0"円" とすればそのまま計算できます。

damida
質問者

お礼

有難うございました。大変役に立ちました。 下記例が不適応(#VALUE)でしたが、多分小生の理解力不足が原因と思われます。 「52.5」「最高価 1254(14:30)」 *第2例では、中間の1254のみとりだしたいのです。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (3)

  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.4

以下に「数字+文字」構成での可変桁の数字を取り出す方法ですが如何でしょうか。 =LEFT(A1,LEN(A1)*10-SUM(LEN(SUBSTITUTE(A1,{0,1,2,3,4,5,6,7,8,9},))))*1

damida
質問者

お礼

有難うございました。大変役に立ちました。 欲を言えば、下記例でも適応可能ならば完璧です。 「3,125円」「52.5」「最高価 1254(14:30)」 *3例では、1254を取り出したい。 

全文を見る
すると、全ての回答が全文表示されます。
  • ctrlzr
  • ベストアンサー率29% (18/62)
回答No.2

1)標準モジュールに以下の記述をします。 Function value2(ByVal v) value2 = val(StrConv(v, vbNarrow)) End Function 2)ネット上から数表をコピーしたシートをsheet1とします。 sheet2のA1セルに、以下の式を埋め込みます。 =value2(Sheet2!A1) 3)埋め込んだ式を全セルにてコピーします。 sheet2には、可能な限り数値が表示されます。 25円->25 空白->0

damida
質問者

お礼

ご丁寧な回答感謝いたします。 ご教示いただいたマクロで、小生の望みは多分完璧に充たされるものと推測いたします。 ただ小生の今日の理解力では、実地で有効性を検証できないのが残念です。 早速今日からこのマクロを身に付けるために猛勉強させてもらいます。ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。
回答No.1

文字列(数字)を数値に変換する関数を利用して、 =VALUE(LEFT(A1,3)) とやってみてください。

damida
質問者

お礼

有難うございました。早速利用させてもらいます。 欲を言えば、変換元セルの数字によって桁数(3とか4とか固定されるので)を個別に変更する必要があるのが難です。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • エクセルで数字の文字列を計算させたくないのですが、うまく出来ません。良い方法はないでしょうか?

    エクセル2003で、下記のようにセルに入力したとします。    A   B   C 1  10   20 2  11  ’21 3  13   14 4 ※B2は「’」をつけて数字の文字列として認識させています。 B4のセルに、=SUM(B1:B3)とすると、うまく34となってくれますが、 C2のセルに、=A1+B2とすると、32となってしまいます。 当方としては、B2を文字と認識してほしいので、求めている答えは11です。 数字の文字列を文字列のまま処理して、計算させない方法はあるでしょうか? 皆様、ご教授願います。

  • EXCELで計算式を文字列として抜き出す?

    excelにて、計算式を文字列として他のセルに表す方法はありますか? 数箇所だったら数式を直接コピーすればできるのですが、行が多いので関数でひとつ作ってそれを下の行へコピーすれば楽にできるのかなと思いまして・・ 例えば、  C1セルに「=A1+B1」という計算式が入っているとして、  D1セルに「=A1+B1」と式自体を表示させたい。 という場合に。D1に関数をいれればいいとかありますか?

  • エクセルの列の表示が文字でなく数字に

    なってしまいました。 ヘルプを読んだりすると R1C1形式にするとこのように なるとかいてありましたが 行も列も数字になってしまうと こまりますので、列をもとの A B C D の標準の形に もどしたいのですが、どこを いじればいいかわかりませんでした。 よろしくお願いします。

  • EXCELで文字列の分割方法を教えてください。

    お世話になります。EXCELにおいて、A1のセルに縦横の長さを1234×5678、321×12.3、等の形式で入力してあります。桁数及び小数点の有る無し様々です。 これを、面積計算のために、B1に縦の数値のみ、C1に横の数値のみを分割させたいのですが、ご教示お願いします。

  • 文字列を数字で計算したい

    例えばA1セルの言葉は3種(あ、い、う)しか入りません。 B1には300、C1には9000という数字が入ります。 あ=1000、い=2000、う=3000の数字として全てを合計した 金額をD1に出すということはできますか?

  • EXCELでの計算式について

    お世話になります。 Excel2000を使って簡単な計算を行っています。 A列とB列に数字が並んでいます。 (ABCは列番号、行番号は省いています) A B C 1 3 3 2 3 4 2 1 この状態でC1に計算式 =A1-B1 を入れるとC1は-2になります。 C1のセルをコピーしてC2~C4に貼り付けました。 すると予想では A B C 1 3 -2 3 2 1 3 4 -1 2 1 1 となるはずが A B C 1 3 -2 3 2 -2 3 4 -2 2 1 -2 となってしまいました。 C列の計算式は何が悪かったのでしょうか? コピー&ペーストをせず1つずつ計算式を入力していけば正しい値が出るのですが、行数は1000行以上あるので無理です。 どうすれば元の状態になりますか?

  • Excelで数字の並べ替え

    度々スミマセン・・・。下記a.にある数字を並べ替えるとb.の順になると思います。 が、これをc.の順に並べ替えたいのです。桁数に関係ない順番にしたいのです。 どうしたら良いのでしょうか。 a.  01232  0125  011  013 b.  011  013  0125  01232 c.  011  01232  0125  013

  • エクセルで計算式の答えを・・・。

    エクセルで計算式で計算した答えの数字だけを別のシートにコピーしたいのです。 普通にコピーして貼り付けすると、計算式ごとコピーされるので計算結果が違ってしまいます。 例えば、A1に10 B1に5 C1に(A1*B1)と計算している場合 他のシートのひとつのセルに「50」と数字だけを入れたいのです。 このようなことが出来るでしょうか? この説明でわかりにくければ補足します。 エクセルに詳しくないので困っています。どなたか教えてください。よろしくお願いします。

  • エクセルで「2」などの入ったセルを数字として計算させる方法

    エクセルにおいて「2」などの入ったセルを数字として計算させる方法を教えてください いわゆる A B C 1 3 2 4 3 2 4「4」 5「2」 6 などの表で A6に =SUM(A1:A6) と入力すると9と表示されるのですが 「4」などカッコに囲まれた数字を計算できる数値させるようにする方法 これでしたら 15と出てくるようにするにはどうすればいいのでしょうか。 あの「4」など入ったセルの値およびタダの数値に変換せずに、あくまで「」の中に数字を入れた状態でできるようお願いします。 できますのでしょうか おしえてください ヨロシクお願いします。

  • Excelの計算式内の文字列の一括置換は出来ますか

     Excelで、計算式の命令内の文字列を置換する方法はあるでしょうか。例えば、あるワークシートのセルで別のファイルやワークシートのセルを参照して計算している時、ほとんど同じ計算式で参照先だけを変えたい場合です。計算結果のワークシートのA列で、  A1=sum('G:\北海道'!A1:A100)  A2=sum('G:\北海道'!B1:B100)  A3=sum('G:\北海道'!C1:C100)・・・ となっているとします。つまり、北海道.xlsというシートの1から100までの列範囲の和を計算しているとして、B列には同様の青森県.xlsからの同じセル範囲の同じ計算、C列には岩手県.xlsからの同じ計算、D列には・・・というように、計算式が全く同様で、参照元のファイル名だけを変えたい場合です。  もう一つ、類似のものとして、計算結果のワークシートで、  A2=sum('G:\北海道'!B1:B100)  A3=sum('G:\北海道'!C1:C100)  A4=sum('G:\北海道'!D1:D100)・・・・ というように、計算式内の行や列を表す記号や数値を置換することは可能でしょうか。  同じような作業は出来るだけ簡単な操作でできる、というのが良いソフトのイメージなのですが、私が現在知る範囲では1つ1つ式を書き換えています。特にリンク貼り付けでやると、計算結果のワークシートでうまくコピーができません(上記では、北海道をB1で青森県に変えておいてそれをB2以下にコピーすると上手く行かない)。  宜しくお願い致します。

専門家に質問してみよう