プロが教えるわが家の防犯対策術!

エクセルの1つのセル内にダブルクォーテイションで囲まれた複数の数字と文字があります。

"25" "98" "ケーキ" "パン" ""
"45" "22" "チョコレート" "もち" "2"


ダブルクォーテイションで囲まれた数字と文字を別セルに抽出するにはどのような方法がありますか。
文字数も決まってないため、また空白のセルもあるため、どのような関数を組み合わせてよいかわかりません。
どなたか詳しい方、ご教授下さい。よろしくお願いいたします。

質問者からの補足コメント

  • つらい・・・

    ありがとうございます。
    私のやり方が悪いのか、この方法ではうまくいかないんです。。

    No.1の回答に寄せられた補足コメントです。 補足日時:2021/12/02 14:54
  • うれしい

    凄い⤴⤴できました!
    ありがとうございます!
    簡単な関数ならわかるのですが、かなり難解でして

    No.2の回答に寄せられた補足コメントです。 補足日時:2021/12/02 18:12
教えて!goo グレード

A 回答 (3件)

数式の質問をするなら最初に Excelのバージョンを書くべきです。



最新のバージョンなら
=LET(_flt,FILTERXML("<x><y>"&SUBSTITUTE(A1,"""","</y><y>")&"</y></x>","//y"),IF(A1="","",TRANSPOSE(FILTER(_flt,NOT(ISERR(_flt))))))

Excel2013以上なら
=IFERROR(INDEX(FILTERXML("<x>"&SUBSTITUTE(SUBSTITUTE(" "&$A1," ""","<y>"),"""","</y>")&"</x>","//y"),COLUMN(A1)),"")
    • good
    • 0
この回答へのお礼

助かりました

詳しく教えてくださ本当にありがとうございます!!
エクセルバージョンを書かずに失礼しました。
こちらも関数をもっと勉強していきます。
なかなか難しいですが、また何かあればよろしくお願いします。

お礼日時:2021/12/03 13:41

こんにちは



仮に、A列に元となる文字列が並んでいるとします。

例えば、C1セルに
=IFERROR(MID($A1,AGGREGATE(15,6,ROW( $A$1:$A$100)/(MID($A1,ROW( $A$1:$A$100),1)=""""),COLUMN(A1)*2-1)+1,AGGREGATE(15,6,ROW( $A$1:$A$100)/(MID($A1,ROW( $A$1:$A$100),1)=""""),COLUMN(A1)*2)-AGGREGATE(15,6,ROW( $A$1:$A$100)/(MID($A1,ROW( $A$1:$A$100),1)=""""),COLUMN(A1)*2-1)-1),"")

の数式を入力し、右方、下方にフィルコピーします。
この結果、各行で右方向の各セルに、ダブルクォーテーションで囲まれた文字列だけが順に抽出できると思います。

※ ダブルクォーテーションの数を数えて文字を抽出していますので、元の文字列がきちんと対応していなかったりすると正しく抜き出せません。
この回答への補足あり
    • good
    • 2

https://tonari-it.com/excel-data-separate-space/

仮にA列にあるならA列全部を選択してからやると出来るかも?
この回答への補足あり
    • good
    • 0

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

このQ&Aを見た人はこんなQ&Aも見ています

教えて!goo グレード

このQ&Aを見た人がよく見るQ&A

このカテゴリの人気Q&Aランキング