Excel (一般機能)

Excelの一般機能に関するフォーラムです。
  • 解決済みのトピックにはコメントできません。
このトピックは解決済みです。
質問

 
(Windows 10全般 : Excel 2019)
文字の分割
投稿日時: 22/06/07 17:15:46
投稿者: eco2019

お世話になっております。
A1のセルにある31°46' 41”を
C1、D1、E1にそれぞれ、
C1・・・31
D1・・・46
E1・・・41
としたいのですが、関数で出来るものでしょうか?
 
ちなみに、131°8'4"とかもあります。
 
LEFTやRIGHTを使って出来ないかとやってみましたが、文字数が違うため、他の方法があれば
そちらの方がよいのかと思いました。宜しくお願い致します。

回答
投稿日時: 22/06/07 17:52:41
投稿者: んなっと

複雑ですが、文字列から複数の数値を取り出す式です。
 
       A B  C  D  E
1 31°46' 41”   31 46 41
2   131°8'4"   131  8  4
 
C1
=IFERROR(LOOKUP(10^15,1*MID($A1,AGGREGATE(15,6,ROW($1:$100)/(MMULT(1*ISERR(MID("|"&$A1,ROW($1:$100)+{0,1},1)*0),{2;1})=2),COLUMN(A1)),ROW($1:$15))),"")
右方向・→

回答
投稿日時: 22/06/07 18:03:18
投稿者: taitani

31°46' 41”		31	46	 41
131°8'4”		131	8	4
                
C1=LEFT(A1,FIND("°",A1)-1)                
D1=MID(A1,FIND("°",A1)+1,FIND("'",A1)-FIND("°",A1)-1)                
E1=MID(A1,FIND("'",A1)+1,FIND(UNICHAR(8221),A1)-FIND("'",A1)-1)                
 
とか。

回答
投稿日時: 22/06/07 18:15:09
投稿者: んなっと

環境次第ですが、こんなのも。
 
=TRANSPOSE(FILTERXML("<y><x>"&SUBSTITUTE(TRIM(CONCAT(IF(ISNUMBER(1*MID($A1,ROW($1:$100),1)),MID($A1,ROW($1:$100),1)," ")))," ","</x><x>")&"</x></y>","//x"))

投稿日時: 22/06/08 07:57:29
投稿者: eco2019

んなっとさん、taitaniさん有難うございます。
 
可能なんですね。助かります。有難うございました。