Получить первый элемент из Split()
Я использую функцию SPLIT для разделения строки, которая выглядит примерно как 1.23/1.15
.
Сейчас он дает две ячейки, как и следовало бы. Но как я могу получить определенный элемент из результата? Я хотел бы сделать что-то вроде этого:
SPLIT("1.23/1.15", "/")[0]
для извлечения 1.23
. Каков правильный синтаксис для этого?
Я попытался использовать функцию INDEX
без успеха: =INDEX(SPLIT("1.23/1.15", "/"), 0,0)
Ответы
Ответ 1
Вы можете использовать функцию индекса, чтобы выбрать возвращаемое значение. Таким образом, чтобы получить второе значение из примера, вы можете использовать:
=index(SPLIT("1.23/1.15", "/"), 0, 2)
В последнем аргументе указывается, какой column
вы хотите получить - 1
получит первое значение.
В качестве альтернативы вы можете использовать left
/right
и find
чтобы извлечь либо значение из вашего примера. Например, чтобы получить первое значение, которое вы можете использовать:
=left("1.23/1.15", find("/", "1.23/1.15") -1)
Ответ 2
Проблема с этими двумя решениями заключается в том, что они не поддерживаются внутри функции arrayformula. Если вы закроете функцию запроса, вы получите желаемый результат и будете очень гибкими с точки зрения разбора только поля, которое вы хотите вернуть:
Возврат 1-й колонки
=query(SPLIT("1.23/1.15", "/"), "SELECT Col1")
Возврат 2-й колонки
=query(SPLIT("1.23/1.15", "/"), "SELECT Col2")