Я ищу способ сказать Excel считать определенное количество непересекающихся ячеек, если значение каждой ячейки равно а или равно b. Есть ли простой способ сделать это без установки вложенного оператора if для каждой отдельной ячейки? Благодаря!Если функция для нескольких значений
ответ
Рассмотрим следующие непересекающиеся (т.е. не соприкасаются) данные в столбцах C:E
, и предположим, что мы хотим проверить, является ли каждое значение =20
или =5
:
+---+---+--+----+---+----+
| | A | B| C | D | E |
+---+---+--+----+---+----+
| 1 | 0 | | 10 | | |
| 2 | 1 | | | | 20 |
| 3 | 1 | | | | |
| 4 | | | | 5 | |
| 5 | | | | | |
| 6 | 2 | | | | |
+---+---+--+----+---+----+
Формула в A1
является =(--(C1=20)+--(C1=5))
. Деконструируя это, (C1=20)
возвращает логическое значение True
или False
.
--
префикс является well known Excel trick, что принуждает логическое значение в целое число 0 (False)
или 1 (True)
.
Добавление этих двух принудительных булевых точек имеет тот же эффект, что и логический оператор OR
*.
Таким образом, эта формула эквивалентна C1=20 OR C1=5
. С C1=20
составляет False (0)
и C1=5
- False (0)
, результатом является 0
.
Формулы в A2
и A3
аналогичным образом сконструированы, но указаны в столбцах E
и D
.
Наконец мы тянем все вместе в клетке A6
с
=(--(C1=20)+--(C1=5)+--(E2=20)+--(E2=5)+--(D4=20)+--(D4=5))
... который выглядит довольно утомительно (и это). Тем не менее, я рекомендую вам поэкспериментировать с идеей, что функции IF
и, в частности, вложенные функции IF
, могут быть переработаны с использованием логической логики таким образом. Иногда, по крайней мере, формула легче писать, а намерение легче читать.
* P.S. умножение эквивалентно логическому AND
.
PPS: Я исправляю свой ответ, чтобы сказать, что трюк «двойной унарный минус» хорошо известен в некоторых кругах, но он настолько полезен, что он должен быть частью лексикона Excel каждого пользователя.
- 1. VBA/Функция/Формула, если для нескольких экземпляров
- 2. Функция для сравнения значений в нескольких столбцах
- 3. Функция факела lua для возврата нескольких значений
- 4. Функция Возвращение нескольких значений SQL
- 5. JQuery .hasClass для нескольких значений, если заявление
- 6. Простой если проверка для нескольких значений Vb
- 7. PHP, если in_array для нескольких значений
- 8. Проверка Если против нескольких значений
- 9. функция для установки значений свойств для нескольких типов классов
- 10. Функция перегрузки для обработки нескольких классов значений в C++ 11?
- 11. процедура Oracle или функция для возврата нескольких значений
- 12. есть функция для подсчета нескольких вхождений разных значений в массиве?
- 13. Функция для ранжирования нескольких уникальных значений в PostgreSQL
- 14. Функция C# для передачи нескольких значений datarow как null, если обнаружен dbnull
- 15. Numpy: векторизации для нескольких значений
- 16. Функция Ext.util.Format.undef для нулевых значений
- 17. Функция для изменения значений переменных
- 18. Пакетный файл для добавления нескольких значений, если условие истинно
- 19. Если мы хотим использовать один ключ для нескольких значений
- 20. Тест для нескольких значений в заявлении, если в C#
- 21. Поиск HashMap для нескольких значений
- 22. PropertyChanged для нескольких значений индексов
- 23. Проверка нескольких значений для переменной
- 24. Алгоритм для сравнения нескольких значений
- 25. Назначение значений для нескольких переменных
- 26. Статическая функция для нескольких файлов
- 27. Назначение нескольких значений для свойства
- 28. Для цикла получения нескольких значений
- 29. Javascript функция для нескольких действий
- 30. Функция Javascript для нескольких классов
нет, вам нужно вставить вложенную логику. –
@TMckeown Спасибо! – 114
Я думаю, что это действительно зависит от вашего определения «непересекающихся ячеек», но это возможно с помощью функции 'Sumifs' или' SumProduct'. –