#google-sheets #google-sheets-formula
#google-sheets #google-sheets-formula
Вопрос:
У меня есть лист с именем NYSEDB с названиями акций в столбце A и компаниями, которые их выпустили, в столбце B.
На другом листе у меня есть компании в ячейках B2 и C2 (например, AAPL, GOOGL и т. Д.).
У меня есть следующая формула:
=ArrayFormula(IFERROR(INDEX(NYSEDB!$A:$B,SMALL(IF(NYSEDB!$B:$B={$B$2,$C$2},ROW(NYSEDB!$A:$A)),ROW(1:1)),1,1),""))
Эта формула, когда я распределяю ее по листу, возвращает все акции из NYSEDB, выпущенные компаниями, которые я указал в B2 и C2.
Как я могу составить прямо противоположную формулу и «инвертировать» задачу — я хочу, чтобы в формуле отображались все акции из NYSEDB БЕЗ акций, выпущенных компаниями, которые я указал в B2 и C2.
Ответ №1:
Решение
Используйте не равный операнд <>
вместо равного =
.
В этом случае лучше использовать QUERY
функцию. Это более выразительно, чем IF
оператор, и упрощает исключение, используя массив исключений.
Тогда ваша формула будет выглядеть:
=QUERY(NYSEDB!A:B, "select A where B<>'"amp;TEXTJOIN("' and B<>'", TRUE, B2:C2)amp;"'", -1)
Примечание: вы можете добавить столько исключений, сколько захотите, но вам придется отредактировать B2:C2
диапазон в QUERY
формуле.
Таким образом Query
, функция будет возвращать значение столбца A
всякий раз, когда значение столбца B не включено в строку исключения.
Ссылка
Комментарии:
1. Я пробовал это, но это не работает с двумя компаниями. Если я добавлю <> и сравню его с одной ячейкой, например, B2 , это сработает, но если я сравню его как с B2, так и с C2, он начнет не работать. Я в основном имею в виду =ArrayFormula(IFERROR(INDEX(NYSEDB!$A:$B,SMALL(IF(NYSEDB!$B:$B<>$B$2,ROW(NYSEDB!$A:$A)),ROW(1:1)),1,1),»»)) работает и =ArrayFormula(IFERROR(INDEX(NYSEDB!$A:$B,SMALL(IF(NYSEDB!$B:$B<>{$B $2,$ C $ 2},СТРОКА(NYSEDB! $ A:$A)),СТРОКА(1:1)),1,1),»»)) не делает этого.
2. imgur.com/a/raoQGEW Пожалуйста, проверьте прилагаемые скриншоты; я мог бы также добавить вас в таблицу Google, если вам так будет проще
3. Пожалуйста, поделитесь этим публично здесь. Или показать ввод. Потому что на вашем скриншоте я не вижу источника инструкции arrayformula. Это также может быть примером (не реальными данными, если вы не хотите ими делиться)
4. Извините за мою ошибку, я пошел в неправильном направлении, давая вам подсказку. В этом случае я думаю, что лучше использовать query. Я отредактировал свой ответ.
5. Алессандро, пожалуйста, проверьте свою электронную почту по адресу hotmail.it !