高度な数式の組み合わせ
メニューを表示するにはスワイプしてください
多くの実際のデータセットでは、1つのテキストフィールド内に複数の情報が含まれています。本章では、テキスト関数を組み合わせて、メールアドレスから構造化された情報を動的に抽出します。
LEN 構文
=LEN(text)
text: 評価対象の文字列。
LEN は文字列内の文字数の合計を返します。
FIND 構文
=FIND(find_text, within_text, [start_num])
find_text: 検索する文字またはテキスト;within_text: 評価対象の文字列;[start_num]: 省略可能な開始位置。
FIND は文字列内で文字の位置を返します。
LEFT 構文
=LEFT(text, num_chars)
text: 評価対象の文字列;num_chars: 左側から抽出する文字数。
MID 構文
=MID(text, start_num, num_chars)
text: 評価対象の文字列;start_num: 抽出開始位置;num_chars: 抽出する文字数。
ステップ1 Customers_Clean シートを開く
次に進む:
Customers_Clean
メールデータはすでに SUBSTITUTE を使って標準化されています。
ステップ2 抽出用の列を作成
次の列を追加:
Email_Username
Email_Domain
Email_Valid
ステップ3 @記号の位置を特定
次を入力:
=FIND("@", Customers_Clean[@Email_Clean])
この数式は @ 区切り記号の位置を返します。
ステップ4 メールユーザー名の抽出
次を入力:
=LEFT([@[Email_Clean]], FIND("@", [@[Email_Clean]]) - 1)
FIND(...) - 1:@の直前の文字を特定;LEFT(...): ユーザー名部分を抽出。
ステップ5 メールドメインの抽出
次を入力:
=MID([@[Email_Clean]], FIND("@", [@[Email_Clean]]) + 1, LEN([@[Email_Clean]]) - FIND("@", [@[Email_Clean]]))
FIND(...) + 1:@の直後から抽出開始;LEN(...) - FIND(...): 残りの文字数を計算。
この数式は長さに関係なくドメインを動的に抽出します。
ステップ6 動的パースのテスト
ユーザー名の長さが異なるもの、 ドメインの長さが異なるもの、 ドメインプロバイダーが異なるものなど、 いくつかのメールアドレスを修正してください。
抽出用数式が動的に機能し続けることを確認します。
1. LENがMIDのようなテキスト抽出関数で使用される主な理由は何ですか?
2. メールアドレスの一部を抽出する際に、手動で位置を指定するよりもFINDが好まれる理由は何ですか?
3. メールドメイン抽出の数式において、LEN - FIND("@", …)の役割は何ですか?
すべて明確でしたか?
フィードバックありがとうございます!
セクション 5. 章 4
AIに質問する
AIに質問する
何でも質問するか、提案された質問の1つを試してチャットを始めてください
セクション 5. 章 4