Как инвертировать формулу индекса в Google таблицах

#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 !