Index - スクリプトおよびチャート関数このページ上
Index() は、文字列を検索して、指定されたサブストリングが n 回目に出現する開始位置を取得します。n の値は、オプションの 3 番目の引数で指定されます。省略されている場合は、1 になります。負の値が指定された場合は、文字列の末尾から検索を行います。文字列内での位置は、1 より左から右 に番号が付けられます。
構文:
Index( text, substring[, count])
戻り値データ型: 整数
引数
text
元の文字列。
substring
text で検索する文字の文字列。
情報メモ テキスト内に部分文字列が存在しない場合、インデックスは 0 を返します。
count
検索する substring の出現を定義します。たとえば、値 2 は 2 番目の出現を検索します。負の値は文字列の末尾から始まります。
例: チャートの数式
Index( 'abcdefg', 'cd' )
3 を返します
Index( 'abcdabcd', 'b', 2 )
6 (b の 2 番目の出現) を返します
Index( 'abcdabcd', 'b',-2 )
2 (終わりから始めて 2 番目の b の出現) を返します
Left( Date, Index( Date,'-') -1 ) where Date = 1997-07-14
1997 を返します
Mid( Date, Index( Date, '-', 2 ) -2, 2 ) where Date = 1997-07-14
07 を返します
Index( 'abc', 'x' )
0 を返します (x は文字列 abc に存在しない)
Index( 'abc', 'a', 2 )
0 を返します (a の 2 番目の出現はなし)
例 - Index の基本
チャートの数式
概要
データ ロード エディターを開き、以下のロード スクリプトを新しいタブに追加します。
ロード スクリプトには次が含まれています。
ロード スクリプト
Example:
Load * inline [
InputString
abcdefg
abcdabcd ];
結果
データをロードしてシートを開きます。新しいテーブルを作成し、この項目を軸として追加します:
次の計算軸を作成します。
=Index(InputString, 'cd')
=Index(InputString, 'e')
=Index(InputString, 'b', -1)
結果テーブル
InputString Index(InputString, 'cd') Index(InputString, 'e') Index(InputString, 'b', -1) abcdabcd 3 0 6 abcdefg 3 5 2
文字列 abcdabcd を持つ最初の行が次を返します:
3 ― cd の最初の出現
0 ― e が文字列中に見つからないため
6 ― 文字列の最後から始めて最初の b の出現
文字列 abcdefg を持つ 2 番目の行が次を返します:
3 ― cd の最初の出現
5 ― e の最初の出現
2 ― 文字列の最後から始めて最初の b の出現
情報メモ 負の count パラメータは、文字列を逆にスキャンします。ただし、逆からスキャンした場合でも、返される位置は常に左から右に表記されます。
ロード スクリプト 次のコードは、ロード スクリプトで関数を使用する方法を示しています。
Example:
Load
*,
index(String, 'cd') as Index_CD, // returns 3 in Index_CD
index(String, 'b') as Index_B, // returns 2 in Index_B
index(String, 'b', -1) as Index_B2; // returns 2 or 6 in Index_B2
Load * inline [
String
abcdefg
abcdabcd ];
結果テーブル 文字列 Index_CD Index_B Index_B2 abcdefg 3 2 2 abcdabcd 3 2 6
例 - Index のシナリオ
チャートの数式
概要
カスタマー サポート センターには、顧客からのメールの件名を含むデータセットがあります。サポート センターでは、件名に表示されるキーワード (Refund 、Complaint 、および Technical Issue など) に基づいてこれらのメールを分類したいと考えています。件名は、データセットの EmailSubject という項目に保存されます。
データ ロード エディターを開き、以下のロード スクリプトを新しいタブに追加します。
ロード スクリプトには次が含まれています。
ロード スクリプト
Example:
Load * inline [
EmailSubject
Request for a Refund - Order 12345
Technical Issue with Product XYZ
Complaint about delivery service
Follow-up on Refund Request
Technical Issue not resolved
];
結果
データをロードしてシートを開きます。新しいテーブルを作成し、この項目を軸として追加します:
次の計算軸を作成します。
結果
EmailSubject
If(Index(EmailSubject, 'Refund') > 0, 'Refund', 'Other')
Complaint about delivery service
その他
Follow-up on Refund Request
Refund
Request for a Refund - Order 12345
Refund
Technical Issue not resolved
その他
Technical Issue with Product XYZ
その他
Index 関数の出力により、文字列「Refund 」を含むすべての件名が正常に識別されました。これは、ネストされた関数を使用してデータを分析および分類し、ユーザーに価値を提供する方法の例です。