このチュートリアルでは、Excelセル內(nèi)のテキストと數(shù)値を分離するためのいくつかの方法を示しており、組み込み関數(shù)とカスタムVBA関數(shù)の両方を利用しています。テキストを削除しながら數(shù)値を抽出し、數(shù)値を破棄しながらテキストを分離し、最後にデータを2つの異なる列に分割する方法を?qū)Wびます。
データには、テキストと數(shù)字が混ざり合っている列があるとしましょう。一貫したデータの場合、 LEFT
、 RIGHT
、 MID
などの単純な関數(shù)で十分です。ただし、実際のデータは一貫性がなく、テキスト內(nèi)、またはテキスト內(nèi)に數(shù)字が表示されます。以下のソリューションは、この複雑さに対処します。
數(shù)字を維持するためにテキストを削除する(Excel 365、2021、2019):
Microsoft Excel 2019は、このタスクを簡素化するTEXTJOIN
関數(shù)を?qū)毪筏蓼筏?。以下の式は?TEXTJOIN
、 MID
、 ROW
、 INDIRECT
、 SEQUENCE
、およびIFERROR
を活用して、これを達成します。
Excel 365と2021の場合:
=TEXTJOIN("",TRUE,IFERROR(MID(A2,SEQUENCE(LEN(A2)),1)*1,""))
Excel 365-2019:
=TEXTJOIN("",TRUE,IFERROR(MID(A2,ROW(INDIRECT("1:"&LEN(A2))),1)*1,""))
(Excel 2019では、アレイ式エントリ用にCtrlシフトを入力する必要があります。動的配列Excelでは、単純な入力が十分です。)
この式は各文字を繰り返し、1を掛けて數(shù)値を変換します。非數(shù)字の文字はエラーになり、空の文字列を殘すためにIFERROR
によって処理されます。次に、 TEXTJOIN
殘りの數(shù)値を連結(jié)します。
カスタムVBA関數(shù)(すべてのExcelバージョン):
古いExcelバージョンまたはよりシンプルなアプローチの場合、カスタムVBA関數(shù)は合理化されたソリューションを提供します。 2つのバージョンが提供されています。
VBAコード1(文字ごと):
関數(shù)removetext(文字列としてのstr) 文字列としての薄暗いsres sres = "" i = 1 to len(str) is -numeric(mid(str、i、1))の場合、sres = sres&mid(str、i、1) 次の私 removetext = sres エンド関數(shù)
VBAコード2(正規(guī)表現(xiàn)):
文字列としての関數(shù)removetext(str as string) createObject( "vbscript.regexp") .global = true .pattern = "[^0-9]" removetext = .replace(str、 "") で終わります エンド関數(shù)
これらの関數(shù)を=RemoveText(A2)
で使用します。コード2(正規(guī)表現(xiàn)を使用)は通常、大規(guī)模なデータセットでより良いパフォーマンスを発揮します。
テキストを維持するために數(shù)値を削除する(Excel 365、2021、2019):
同様の式は、數(shù)値を削除しながらテキストを抽出できます。繰り返しますが、 TEXTJOIN
、 MID
、 ROW
、 INDIRECT
、 SEQUENCE
、 IFERROR
、およびISERROR
を使用してください。
Excel 365と2021の場合:
=TRIM(TEXTJOIN("",TRUE,IF(ISERROR(MID(A2,SEQUENCE(LEN(A2)),1)*1),MID(A2,SEQUENCE(LEN(A2)),1),"")))
Excel 365-2019:
=TRIM(TEXTJOIN("",TRUE,IF(ISERROR(MID(A2,ROW(INDIRECT("1:"&LEN(A2))),1)*1),MID(A2,ROW(INDIRECT("1:"&LEN(A2))),1),"")))
TRIM
関數(shù)は、先頭/トレーリングスペースを削除します。
數(shù)値を削除するためのカスタムVBA関數(shù)(すべてのExcelバージョン):
以前のVBA関數(shù)と同様に、數(shù)値を削除してテキストを維持する2つのバージョンを次に示します。
VBAコード1(文字ごと):
関數(shù)removenumbers(文字列としてのstr) 文字列としての薄暗いsres sres = "" i = 1 to len(str) is -numeric(mid(str、i、1))ではない場合はsres = sres&mid(str、i、1) 次の私 removenumbers = sres エンド関數(shù)
VBAコード2(正規(guī)表現(xiàn)):
文字列としての関數(shù)removenumbers(文字列としてのstr) createObject( "vbscript.regexp") .global = true .pattern = "[0-9]" removenumbers = .replace(str、 "") で終わります エンド関數(shù)
これらを=TRIM(RemoveNumbers(A2))
で使用します。
テキストと番號を別々の列に分割します。
単一のカスタムVBA関數(shù)は、テキストと數(shù)字の両方の抽出の両方を処理できます。
VBAコード1(文字ごと):
関數(shù)splittextnumbers(string、is_remove_textとしてbooleanとして)sprittextnumbers 薄暗いスナム、stext、stringとしてのschar snum = stext = "" i = 1 to len(str) schar = mid(str、i、1) is -numeric(schar)の場合、snum = snum&schar else stext = stext&schar 次の私 is_remove_textの場合、SplittextNumbers = snum else splittextnumbers = stext エンド関數(shù)
VBAコード2(正規(guī)表現(xiàn)):
関數(shù)splittextnumbers(string、is_remove_textとしてbooleanとして)sprittextnumbers createObject( "vbscript.regexp") .global = true is_remove_text then .pattern = "[^0-9]" else .pattern = "[0-9]" splittextnumbers = .replace(str、 "") で終わります エンド関數(shù)
use =SplitTextNumbers(A2,TRUE)
を維持するには、 =TRIM(SplitTextNumbers(A2,FALSE))
保持してテキストを保持します。
特殊なツールの使用:
より視覚的でユーザーフレンドリーなアプローチを希望する場合は、キャラクター削除のために専用のExcelアドインを使用することを検討してください。このチュートリアルでは、「削除文字」機能を備えた「究極のスイート」アドインについて言及しています。
この包括的なガイドは、さまざまなExcelバージョンとユーザーの好みに応える複數(shù)のソリューションを提供します。特定のデータに必要に応じて、セル?yún)⒄栅蛘{(diào)整することを忘れないでください。
以上がExcelセルでテキストと數(shù)字を削除 /分割する方法の詳細內(nèi)容です。詳細については、PHP 中國語 Web サイトの他の関連記事を參照してください。

ホットAIツール

Undress AI Tool
脫衣畫像を無料で

Undresser.AI Undress
リアルなヌード寫真を作成する AI 搭載アプリ

AI Clothes Remover
寫真から衣服を削除するオンライン AI ツール。

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中國語版
中國語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統(tǒng)合開発環(huán)境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









