• ベストアンサー

excel 式  単位を含むセルの数値化

(質問) A列に下記のような数列 3.40 KB 3.23 MB 3.22 KB 3.21 MB 3.21 MB 3.21 MB 3.17 KB 3.17 KB 3.17 B B列に KBなら"数値そのまま" MBなら"1000倍した数値" Bなら一律"1" SPなら"そのまま" にしたい。どんな式を書けばいいでしょうか。

  • taktta
  • お礼率72% (1031/1430)

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

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

一例です。 A列は、数値+半角スペース+単位の文字列、B列に数値のみ抽出としています。 =IF($A1<>"",CHOOSE(LOOKUP(TRIM(MID($A1,FIND(" ",$A1),99)),{"B","KB","MB"},{1,2,3}),1,MID($A1,1,FIND(" ",$A1)-1)*1,MID($A1,1,FIND(" ",$A1)-1)*1000),"")

taktta
質問者

お礼

おかげで解決しました。どうもありがとうございました。

その他の回答 (3)

noname#79209
noname#79209
回答No.4

> SPなら"そのまま" SPってスペースという意味でしょうか?

taktta
質問者

お礼

はいそうです。 おかげで解決しました。どうもありがとうございました。

回答No.3

例示どおり、数字と単位の間に1文字の空白があるとします。やっぱ りないってのは困りますよ。 =CHOOSE(MATCH(RIGHT(A1,2),{"KB";"MB";" B";"SP";""},0),LEFT(A1,LEN(A1)-2)*1,LEFT(A1,LEN(A1)-2)*1000,1,"そのまま","")

taktta
質問者

お礼

おかげで解決しました。どうもありがとうございました。

  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.2

単位と数値の間には必ずスペースがあるんですね? なら、こんな感じかな。 =IF(A1="","",IF(MID(A1,FIND(" ",A1)+1,2)="KB",LEFT(A1,FIND(" ",A1))*1,IF(MID(A1,FIND(" ",A1)+1,2)="MB",LEFT(A1,FIND(" ",A1))*1000,IF(MID(A1,FIND(" ",A1)+1,2)="B",1,IF(MID(A1,FIND(" ",A1)+1,2)="SP",A1,"対象外")))))

関連するQ&A

  • Excel セル内の式

    Win2000 Excel2000 いつもお世話になっております A列に「○」と「×」の2種類の値が設定されます B列には手入力した、数値が入ります(ここに式は設定しません) 上記内容でデータがN件設定されます ルールとしましては A列が○の時B列の値はプラス A列が×の時B列の値はマイナスとなります 但し、B列にプラスやマイナスの記号は表示しません B列の合計をC1に式を組むことにより、求めたいのですが可能でしょうか? Ex) A列  B列    C1 = 25 ←(式により25を求めたいです) ○    10 ○    20 ×    5  ・    ・  ・    ・

  • エクセル 式の答えを数値として取り出すには

    例えば、下記のように入力されている場合 A列 B列 C列  1  2  A+B C列の計算結果である「3」を数値として取り出したい場合はどのようにすればよいのでしょうか?

  • EXCEL:種別ごとに数値の和を求める式

    種別ごとに和を集計する必要があります。 種別ごとの数値を求めるためには、各計の所にどのような式をかきたらよいのでしょうか。 下記に例:Dのセルの式 aだけでよい。 A列 B列 C列  D列 種別 数値 種別   計 a 1 a種計  1 b 4 b種計 13 c 5 c種計 12 c 7 b 9

  • Excelでの空白セルを除いた引き算【part2】

    Excel2007を使用しています。 先日下記のような質問をさせて頂いて、B2=IF(A2="","",A2-MAX(A$1:A1))という式を使わせてもらいました。 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - A列にどんどん増えていく数値(増加量はランダム)が入力され、 B列に1つ上の数値を引いた値を計算式で出したいのですが、A列にはたまに空白が入ります。 A列   B列 50    100     50 (←100-50) 160    60 170    10 (←170-160) 200    30 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 今度はこのような場合を作りたいのですが、Excelの計算式の理解が乏しくて、先日頂いた式から作り直すことができません…。 A列   B列 50     50 (←100-50) 100    60 160    10 (←170-160) 170    30 200    今回の場合はどのように直したらいいのか(orまったく別の式なのか?)分かる方よろしくお願いします。

  • EXCELで式での空白セルの挿入方法

    A列は空白行で、B列は数値が入っていたり空白だったりする行で構成されています。 またC列からD列までの全ての行には数値が入っています。 この時A列に条件付き数式を入力して、B列が空白でなければB列に空白セルを挿入して現B列からD列を右にシフトさせたいのですが、数式で可能でしょうか? 数式で可能ならばA列に入力する式を、不可能なら参考のためVBAでの記述をお教え頂けると嬉しいです。(VBAはあまり理解しておりませんが。) 例 【処理前】 A列 B列 C列 D列 E列     22   33  44          55  66     77   88  99         100  101 【処理後】 A列 B列 C列 D列 E列 式       22  33  44 式       55  66 式       77  88  99 式      100  101 2万行の処理を1回のみしたいです。 宜しくお願いします。

  • EXCELのセルへの式を教えて下さい

    ・・A・・B・・C 1 2 a)式をC1のセルに入れたいのですが b)A1は空白か”黒”か”赤”の文字が入ります c)A1が空白の場合わC1は空白、”黒”の文字の場合B1の数値の10%増、”赤”の文字の場合はB1の数値の10%減の式を教えて下さい。 よろしきお願いいたします。

  • Excelでの空白セルを除いた引き算

    Excel2007を使用しています。 A列にどんどん増えていく数値(増加量はランダム)が入力され、B列に1つ上の数値を引いた値を計算式で出したいのですが、A列にはたまに空白が入ります。 A列   B列 50    100     50 (←100-50) 160    60 170    10 (←170-160) 200    30 このような感じにしたい時にB列に入力する式が分かりません。 初歩的な質問かもしれませんが、よろしくお願いします。

  • エクセルで数値と文字が入ったセルからの数値の抽出

    皆さんこんにちは。 エクセルの使い方についての質問です。 添付画像の例のようにA列に 「XXYYYZZ(XとZは文字、Yは数値で3桁または4桁)」というフォーマットで 数値と文字が入っているセルがあります。 同様にB列には「WWZ(Wは数値)」というフォーマットで、 同様に数値と文字が入っているセルが並んでいます。 これらからDやE列にあるように数値のみを取り出すためには DやE列にどのような関数を入れてやればよいのでしょうか。 どなたか教えていただければ幸いです。 よろしくお願いします。

  • Excelで特定の数値が入った行の別列の数値を集計

    ExcelのA列にそれぞれ空白 or 1、2、3いずれかの値が入っています。 B列には行ごとに異なる数値(1、2、3、4)が入っています。 A列とB列の行数は同じです。 それぞれの数値を下記の通りにまとめたいと考えています。 ・A列に「1」が入っている行のB列の数値を集計し、その数をA100に入れる ・A列に「2」が入っている行のB列の数値を集計し、その数に1.5を掛けた値をA101に入れる ・A列に「3」が入っている行のB列の数値を集計し、その数に2を掛けた値をA102に入れる 上記はどのような計算式で実現できるでしょうか? よろしくお願いします。

  • エクセル2000で質問です。

    下記のように式を入れたいのです。 先ずC1にはすでに数値が入力されています。 そこからA2を足しB2、B3を引いた数値をC3に出す。 日付順に並んでいるのですがA列には一つの日付に対して 一つしか数値が入りませんがB列には一つの場合も複数行入る場合もあり いくつ入るか分かりません。 いくつ入るか分からないのですがその日のB列に入った数値はすべて 引き算してその横のC列のセルにその答えを反映させたいのです。 この場合C列にどのような式を入れれば良いのでしょう? 下記の表の場合は 5000+300ー500-600=4200 4200+800-400-700-100=3800 というふうになっていくようにしたいのです。             A       B      C 1                         5000 2  10/20     300    500 3   10/20             600   4200 4   10/21     800    400 5   10/21            700 6   10/21            100    3800 7   10/22     500    300    4000 8   10/23     300    900    3400 9   10/24    1000    700 10  10/24            1200   2500

専門家に質問してみよう