Мне нужно игнорировать пустые ячейки в массиве Excel 2007 MIN, но я продолжаю получать 0 - PullRequest
0 голосов
/ 08 апреля 2011

Вот массив, который у меня есть:

{=MIN(IF('APRIL 2011'!E3:E999<>"",'APRIL 2011'!E3:E999  
 *('APRIL 2011'!E3:E999*('APRIL 2011'!D3:D999='APRIL TOTALS'!A2))))}  

Он по-прежнему возвращает нули с пустыми ячейками!

Ответы [ 3 ]

0 голосов
/ 08 апреля 2011

Проблема с вашей формулой заключается в том, что вы возвращаете минимум массива логических продуктов. Поскольку это булевы продукты, продукты с множителем FALSE (те, которые вы намереваетесь исключить) считаются как 0.

Я вижу способ обойти это, пока Столбец E не содержит нулевых значений . Я сделал два больших изменения в вашей первоначальной формуле:

  1. Чтобы устранить проблему с логическим множителем, я использовал оператор IF, чтобы выбрать множители вместо 1 и 0 для TRUE и FALSE. ИСТИНА по-прежнему равна 1, но ЛОЖЬ - теперь большое число - увеличьте его, чем любое значение в столбце Е. Таким образом, пустые записи будут только минимальным значением, если они являются единственным значением.
  2. Чтобы позаботиться о случае, когда будет возвращено большое число, я сделал так, чтобы минимальное значение вычислялось, только если в Col E есть непустые значения для значений Col D = A2. Если таких значений нет, возвращается "".

     {=IF(COUNT(IF('APRIL 2011'!D3:D999='APRIL TOTALS'!A2,  
    

    IF ('APRIL2011'! E3: E999 <> "", 'APRIL2011'! D3: D999))) = 0, ""

    MIN(IF('APRIL2011'!E3:E999<>"",'APRIL2011'!E3:E999,10000000000)  
    
    *IF('APRIL 2011'!D3:D999='APRIL TOTALS'!A2,1,1000000000000)))}
    
0 голосов
/ 26 июля 2015

Вложите ваши условия. Вы пытаетесь смешать критерии IF с (VALUE) * (TRUE / FALSE), а когда TRUE / FALSE равно FALSE, вы умножаете на ноль. Таким образом, вы отбрасываете пустые ячейки, но искусственно заполняете свой результирующий набор нулями для каждой строки, где столбец D <> 'APRIL TOTALS'! A2.

В качестве формулы массива,

=MIN(IF('APRIL 2011'!E3:E999<>"", IF('APRIL 2011'!D3:D999='APRIL TOTALS'!A2, 'APRIL 2011'!E3:E999)))

Формулы массива должны быть завершены с помощью Ctrl + Shift + Enter↵ (но вы уже знали это!).

0 голосов
/ 08 апреля 2011

Вы можете использовать функцию ISBLANK () для проверки пустых ячеек.Если ячейка A1 пуста, то =A1="" оценивается как true, как и =A1=0

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

=IF(ISBLANK([expression]), "", [expression])
...