2016-12-24 6 views
0

Я работаю над таблицей в листах Google.Формула с критериями выбора для поиска определенного значения

Я создаю листок персонажей для предстоящей игры с искателем, и сейчас я работаю над страницей подвигов. У меня есть страница, упорядоченная так, что Col A - это уровень, в котором я получу подвиг, Col B - это имя feat, Col C - это предпосылки для подвига, а Col D - это то место, где я создаю формулу, которая подскажет мне если все требования выполнены.

Level: Имя | Предпосылки | Встретил?

1 | Додж | Не установлено

1 | Мобильность | Додж | Формула

2 | Весенняя атака | Мобильность | Формула

3 | Вихревая атака | Весенняя атака | Формула

То, что я пытаюсь сделать, это создать какой-то поиск. Я хочу ограничить диапазон уровня (Col A) на основе уровня моих символов (позволяет использовать Z3 в качестве ссылки на ячейку). Поэтому, если я нахожусь на уровне 2, он будет проверять только умения уровня 2 или менее. Затем мне нужно убедиться, что имя feat указано в приведенном Col B.

Если есть лучший или более простой способ, чем поиск, не стесняйтесь, дайте мне знать.

Так что, если уровень установлен в 1, формула для Spring Attack создала бы истинное утверждение, а формула для атаки Whirlwind создавала бы ложь, потому что весенняя атака не принимается до уровня 2, и я всего лишь уровень 1 Когда мой уровень изменится на 2, тогда вихрь также должен быть правдивым.

+0

Почему вихрь читается «истинно», когда ваш уровень равен 2? Его уровень 3 в вашем примере. – FTP

+0

Поскольку требования к его выполнению были выполнены, так как я упростил другие требования, которые не отображаются, но примером может быть то, что мне нужен бонус базовой атаки +4 (4 или больше), Spring attack, Mobility и Dodge. Это только то, что предпосылки для подвига были выполнены, а не подвиг. – Fering

+0

Хорошо. Похоже, у вас будет отдельная формула для каждого подвига, которая отобразит True или False. Если это так, я не понимаю, зачем вам нужно что-то вроде поиска. Формула в, скажем, D4 будет относиться к ячейке A4 для соответствующего уровня и использовать ее в вычислении. – FTP

ответ

1

Соответствующая формула Google Таблиц: filter. Например,

=filter(B2:B, A2:A <= 2) 

возвращает список записей из столбца B (имена Подвиг), где соответствующая запись в столбце A (уровень) составляет не более 2.

можно применить несколько фильтров, например

=filter(B2:B, A2:A <= 2, C2:C = "string") 

дополнительно требует, чтобы запись в C была «строкой».

Когда нет совпадений, filter возвращает N/A. Это может быть использовано для создания True/False значения основывается на поиске по меньшей мере, одну ячейку, которая удовлетворяет условиям:

=not(isna(filter(B2:B, A2:A <= 2, C2:C = "string"))) 

является Истина, если был матч и ложь в противном случае.

+0

Я раньше не использовал фильтр и, похоже, делаю большую часть того, что мне нужно. Когда имя feat не найдено, оно бросает NA. – Fering

+0

И Iferror позаботился об этой проблеме, большое вам спасибо за вашу помощь. – Fering

 Смежные вопросы

  • Нет связанных вопросов^_^