Funkcja Index() przeszukuje ciąg, aby znaleźć pozycję początkową n-tego wystąpienia podanego fragmentu tekstu. Opcjonalny trzeci argument dostarcza wartość n, która w przypadku pominięcia wynosi 1. Podanie wartości ujemnej powoduje wyszukiwanie od końca ciągu znaków. Pozycje w ciągu znaków są numerowane od lewej do prawej od 1 w górę.
Składnia:
Index(text, substring[, count])
Typ zwracanych danych: liczba całkowita
Argumenty
Argument
Opis
text
Pierwotny ciąg znaków.
substring
Ciąg znaków do wyszukania w tekście text.
InformacjaJeśli podciąg nie istnieje w tekście, Indeks zwraca 0.
count
Określa wystąpienie substring do wyszukania. Na przykład wartość dwóch wyszukań dla drugiego wystąpienia. Podanie wartości ujemnej powoduje rozpoczęcie od końca ciągu znaków.
Przykład: wyrażenia wykresu
Przykład
Wynik
Index( 'abcdefg', 'cd' )
Zwraca wartość 3
Index( 'abcdabcd', 'b', 2 )
Zwraca 6 (drugie wystąpienie b)
Index( 'abcdabcd', 'b',-2 )
Zwraca 2 (drugie wystąpienie b od końca)
Left( Date, Index( Date,'-') -1 ) where Date = 1997-07-14
Zwraca wartość 1997
Mid( Date, Index( Date, '-', 2 ) -2, 2 ) where Date = 1997-07-14
Zwraca wartość 07
Index( 'abc', 'x' )
Zwraca 0 (x nie istnieje w ciągu abc).
Index( 'abc', 'a', 2 )
Zwraca 0 (nie ma drugiego wystąpienia a).
Przykład — podstawy Index
Przegląd
Otwórz Edytor ładowania danych i poniżej dodaj skrypt ładowania do nowej karty.
Skrypt ładowania zawiera:
Zestaw danych załadowany do tabeli o nazwie Example.
Załaduj dane i otwórz arkusz. Utwórz nową tabelę i dodaj to pole jako wymiar:
InputString
Utwórz następujące wymiary wyliczane:
=Index(InputString, 'cd')
=Index(InputString, 'e')
=Index(InputString, 'b', -1)
Tabela wynikowa
InputString
Index(InputString, 'cd')
Index(InputString, 'e')
Index(InputString, 'b', -1)
abcdabcd
3
0
6
abcdefg
3
5
2
Pierwszy wiersz z ciągiem abcdabcd zwraca:
3 — pierwsze wystąpienie cd
0 — ponieważ znaku e nie znaleziono w ciągu znaków
6 — pierwsze wystąpienie b od końca ciągu znaków
Drugi wiersz z ciągiem abcdefg zwraca:
3 — pierwsze wystąpienie cd
5 — pierwsze wystąpienie e
2 — pierwsze wystąpienie b od końca ciągu znaków
InformacjaUjemny parametr count powoduje skanowanie ciągu w odwrotnej kolejności. Zwracana pozycja jest jednak zawsze oznaczana od lewej do prawej, nawet w przypadku skanowania w odwrotnej kolejności.
Poniższy kod pokazuje, jak użyć tej funkcji w skrypcie ładowania.
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 ];
Tabela wynikowa
Ciąg znaków
Index_CD
Index_B
Index_B2
abcdefg
3
2
2
abcdabcd
3
2
6
Przykład — zastosowanie Index
Przegląd
Centrum obsługi klienta ma zbiór danych zawierający tematy wiadomości e-mail od klientów. Centrum pomocy technicznej chce kategoryzować te wiadomości e-mail na podstawie słów kluczowych, które pojawiają się w temacie wiadomości, na przykład Refund, Complaint i Technical Issue. Wiersze tematu są przechowywane w polu zestawu danych o nazwie EmailSubject.
Otwórz Edytor ładowania danych i poniżej dodaj skrypt ładowania do nowej karty.
Skrypt ładowania zawiera:
Zestaw danych załadowany do tabeli o nazwie Example.
Jedno pole w tabeli danych o nazwie EmailSubject.
Skrypt ładowania
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
];
Wyniki
Załaduj dane i otwórz arkusz. Utwórz nową tabelę i dodaj to pole jako wymiar:
EmailSubject
Utwórz następujący wymiar wyliczany:
=If(Index(EmailSubject, 'Refund') > 0, 'Refund', 'Other') do obliczenia, który tekst tematu wiadomości e-mail dotyczy zwrotów.
W danych wyjściowych funkcji Index pomyślnie zidentyfikowano wszystkie wiersze tematu, które zawierają ciąg Refund. Jest to przykład tego, jak można analizować i kategoryzować dane za pomocą funkcji zagnieżdżonych w sposób przydatny dla użytkowników.
Czy ta strona była pomocna?
Jeżeli natkniesz się na problemy z tą stroną lub jej zawartością — literówkę, brakujący krok lub błąd techniczny — daj nam znać, co możemy poprawić!