- ベストアンサー
Excelの同一セル内で大きい方の数字のみ抽出する方法
- Excelの同一セル内に文字と数字が混同している場合、大きい方の数字のみを抽出する方法を教えてください。
- 現在、セル内の文字列から数字を抽出する関数を使用していますが、一部の形式では正しく抽出できません。
- 税込価格と中古品価格のような複数の形式に対応した関数を知りたいです。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
No2の回答の補足と訂正です。 提示した数式は、同じ計算を2回行うなど(計算負荷がかかる)数式に無駄がありますのでExcel2007以降をご使用なら以下のような数式に訂正してください。 =MAX(IFERROR(MID(A1,ROW($1:$30),COLUMN($A:$G))*1,"")) お分かりだと思うので追加しませんでしたが、A1セルが空白セルの場合にも対応するようにするには、以下のようにIF関数を追加してください(多数のセル(A列の未入力セル)にこの数式を入力する場合は計算負荷の観点から重要)。 =IF(A1="","",MAX(IFERROR(MID(A1,ROW($1:$30),COLUMN($A:$G))*1,"")))
その他の回答 (2)
- MackyNo1
- ベストアンサー率53% (1521/2850)
- neKo_deux
- ベストアンサー率44% (5541/12319)
VBAで組んじゃう方が分かりやすいと思いますが、VBAは使えない条件なんでしょうか? 質問の2つのパターンだけなら、A1セルが「中古品」で始まってるかどうかで場合分けするとか。 =IF(LEFT(A1,3)="中古品", LOOKUP(10^10,MID(A1,MATCH(0,INDEX(0/MID(A1,COLUMN(1:1),1),),),COLUMN(1:1))*1), TRIM(MID(SUBSTITUTE(A1," ",REPT(" ",99)),99*3-99,99))*1) 当然、その2つのパターン以外には対応しませんが。
お礼
場合分けする方法もあるのですね。 ご回答有難うございました!
補足
早速のご回答有難うございます。 VBAが詳しく分かりませんので、関数のみで対処できると助かります。 また、上記の関数では確かにそれ以外の場合に対応できないのが難点です。 例えば下記のような表示の場合です。 GWセール特価:194,700円(税込) 180,700円(税込) 単純に価格のみ抽出できると助かります。 税抜きと税込の価格が1つのセル内に両方存在する場合は、税込価格を抽出する必要があります。 何卒、宜しくお願い申し上げます。
お礼
この度は、非常にシンプルな関数をご教授頂きまして、誠に有難うございました。 ROW($1:$30),COLUMN($A:$G)の範囲を選択しないといけないのが、良く分かっておりませんが、 とりあえず、A1のみならずどのセルでも対応しているようですので、迅速なご回答に心より感謝いたします。