Как получить массив строк в ячейке Excel и использовать его в качестве ссылки

У меня есть следующая формула:

=SUM(COUNTIF(Country;{"CHN";"SGP";"AUS";"MYS"}))

где Страна — это столбец. Я хотел бы иметь ячейку, содержащую массив стран, которые я ищу. Например, ячейка P3 будет иметь такое значение:

{"CHN";"SGP";"AUS";"MYS"}

и формула станет чем-то вроде

=SUM(COUNTIF(Country;P3))

Но что бы я ни пробовал в камере P3

{"CHN";"SGP";"AUS";"MYS"}
"CHN";"SGP";"AUS";"MYS"
"CHN","SGP","AUS","MYS"

или изменив формулу на что-то вроде

=SUM(COUNTIF(Country;{P3}))

Кажется, я не могу найти правильный синтаксис... надеюсь, что это возможно.

Также попробовал сделать что-то вроде:

=SUM(COUNTIF(Country;TEXTSPLIT(P3,",")))

но безрезультатно.

Спасибо за помощь.

=SUM(COUNTIF(Country;TEXTSPLIT(P3,","))).... Это должно сработать, если вы используете правильный синтаксис? Вы использовали точку с запятой в качестве разделителя в COUNTIF() и запятую в качестве разделителя в TEXTSPLIT(). Поэтому я подозреваю, что вам следует использовать: =SUM(COUNTIF(Country;TEXTSPLIT(P3;","))). У меня работает, по крайней мере, если предположить P3 == CHN,SGP,AUS,MYS. Если проблема не в этом, то вам, вероятно, просто нужно избавиться от кавычек в P3.
JvdV 05.07.2024 21:46

Да, это сработало. После настройки правильного разделителя и удаления кавычек все заработало.

John 06.07.2024 09:55
Структурированный массив Numpy
Структурированный массив Numpy
Однако в реальных проектах я чаще всего имею дело со списками, состоящими из нескольких типов данных. Как мы можем использовать массивы numpy, чтобы...
T - 1Bits: Генерация последовательного массива
T - 1Bits: Генерация последовательного массива
По мере того, как мы пишем все больше кода, мы привыкаем к определенным способам действий. То тут, то там мы находим код, который заставляет нас...
Что такое деструктуризация массива в JavaScript?
Что такое деструктуризация массива в JavaScript?
Деструктуризация позволяет распаковывать значения из массивов и добавлять их в отдельные переменные.
0
2
63
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Можешь попробовать

=SUM(MAP(country,LAMBDA(q,REDUCE(0,TEXTSPLIT(P3,","),LAMBDA(a,c,IF(c=q,1,a))))))

где страна представляет ваш столбец стран, а P3 представляет собой список значений, разделенных запятой.

После изменения разделителей-запятых на столбцы с запятой у меня тоже это заработало. Если @JvdV добавит свой комментарий в качестве ответа, я выберу его в качестве принятого ответа, потому что для меня он более понятен, чем ваш, но, тем не менее, спасибо за помощь и за предоставление другого подхода.

John 06.07.2024 00:54
Ответ принят как подходящий

Вы использовали точку с запятой в качестве разделителя в COUNTIF() и запятую в качестве разделителя в TEXTSPLIT(). Поэтому я подозреваю, что вам следует использовать:

=SUM(COUNTIF(Country;TEXTSPLIT(P3;",")))

У меня работает, по крайней мере, если предположить P3 == CHN,SGP,AUS,MYS.

Если проблема не в этом, то вам, вероятно, просто нужно избавиться от кавычек в P3.

Другие вопросы по теме