Excel (一般機能)

Excelの一般機能に関するフォーラムです。
  • 掲示板への投稿には会員登録(無料)が必要です。会員登録がまだの方はこちら
  • 掲示板ご利用上のお願い」に反するご記入はご遠慮ください。
  • Q&A掲示板の使い方はこちらをご覧ください
トピックに返信
質問

 
(Windows 10 Home : Excel 2016)
不要な情報が入力されているセルを抽出したい
投稿日時: 21/10/04 23:43:53
投稿者: 隆誠

よろしくお願いします。
電話番号が入力されているセルがあります。
    
          A
1 03-1234-5678
2 0422-23-6789
3 06-8521-6956コメント
4 コメント0856-98-7654
5 046-9519-6987/046-9519-7896
6 0120-123-456
  
  
ところが純粋に電話番号だけの入力ではなく、コメントや,複数の番号が入力されているセルがあることがわかりました。
行数が半端ないため、ほかにも予期せぬ入力があるかもしれませんが一つの電話番号の入力以外は不要セルとして抽出したいです。
純粋に一つの電話X番号以外が入力されているセルがわかる様にしたいのですが、どの様な方法がありますでしょうか。
  
他の方が使用してるファイルを見ると,B1セルに以下の関数が書かれており、C列に TRUE や FALSE が表示されている様に見えたのですが、意味がわかりません。
  
=RIGHT(RIGHT(A1,13),LEN(RIGHT(A1,13))-FIND("0",RIGHT(ASC(A1),13))+1)
  
よろしくお願いします。

回答
投稿日時: 21/10/05 08:19:03
投稿者: んなっと

国際電話とか#で始まる番号は無視でよさそうですね。
 
               A   B
1         03-1234-5678  TRUE
2         0422-23-6789  TRUE
3     06-8521-6956コメント FALSE
4     コメント0856-98-7654 FALSE
5 046-9519-6987/046-9519-7896 FALSE
6         0120-123-456  TRUE
7        090-9999-9999  TRUE
8           99-9999  TRUE
 
B1
=IFERROR(AND(LEN(SUBSTITUTE(A1,"-",))<14,MOD(SUBSTITUTE(A1,"-",),1)=0),FALSE)
下方向・↓

回答
投稿日時: 21/10/05 16:18:32
投稿者: WinArrow
投稿者のウェブサイトに移動

>=RIGHT(RIGHT(A1,13),LEN(RIGHT(A1,13))-FIND("0",RIGHT(ASC(A1),13))+1)
 
数式お分愛して、各々の目的をリ愛しましょう。
最初に
=ASC(A1)
は、文字列を半角文字列に変換すします。
 
例えば、例3の場合
>06-8521-6956コメント

06-8521-6956コメント
となります。
 
次に
>=RIGHT(ASC(A1),13)
このうう式では、右側から13文字バイト)を取り出す数式ですから
実行すると
8521-6956コメント
となります。
 
次に
>=FIND("0",RIGHT(ASC(A1),13))
は、最初に現れる`0"の桁位置を取得する数式です。
>8521-6956コメント
の文字列の中に、"0"は存在しないからエラー(#VALUE)になります。
従って、RUGHT関数を使うこと自体に門愛があることが分かります。
このように数式を分解して、使うべき数式を判断するおとができます。
 
それから
電話番号を13桁と考えているのですg、13桁がは携帯電話番号に適用されます。
固定電話番号は12桁ですから、そのあたりも考えて数式を考えましょう。
 
 
 
 

回答
投稿日時: 21/10/05 16:33:00
投稿者: WinArrow
投稿者のウェブサイトに移動

>純粋に一つの電話X番号以外が入力されているセルがわかる様にしたい
 
  
これに対する回答
「数字はすべて電話番号である」という前提で
 
=IF(ISNUMBER(SUBSTITUTE(A1,"-",)*1),"電話番号ノミ","電話番号以外")
 
※電話番号の体系を判別するには、複雑な計算式が必要なので、
 このようなシンプルな方法で間に合うならば、検討してみてください。

回答
投稿日時: 21/10/05 16:47:46
投稿者: WinArrow
投稿者のウェブサイトに移動

文章中に記載されている電話番号を抽出する
には、記載ルールが必要です。
ルールがない状況(ある意味デタラメ)でしたら
まず、ルールを整理することから始めましょう。
 
これは現状を把握するだけです。
これから発生するデータに適用するための方策が必要です。

回答
投稿日時: 21/10/06 00:03:57
投稿者: WinArrow
投稿者のウェブサイトに移動

投稿日時: 21/10/05 16:18:32
の私のレス・・・・いくつか誤字脱字があり、申し訳ありません。
 
要点は、データの規則性を考えてから、適切な関数を使いましょう。
 
誰かが作成した数式をコピペするだけではなく、
その数式の意味を考え、自分のやりたいことに適合しているかを分析できる能力をつけてほしい
ということです。

トピックに返信