2017-02-03 14 views
0

Я уже проверил документ Excel ... Я всегда получаю 0Excel Min Функция возвращает 0

это мой стол enter image description here

Excel И это мой код:

=MIN(IF(C7="X";C20);IF(D7="X";D20)) 

и если в ячейке C7 и D7 есть «X», я хочу получить МАЛЫЙ (MIN) значение Cell C20 или D20, и он работает нормально, НО -> Когда я удаляю один «X», скажем, в Cell D7 , Я получаю только 0 назад, потому что функция Min всегда возвращает 0, если мои функции IF не являются цифрой/числом, b ut, когда я удаляю свой X, я всегда возвращаю False из своих функций IF() ....

Так что мой вопрос в том, как я могу игнорировать все. Если значения Return, которые не являются числом, означают, когда мой IF() Функции возвращает false < - как я мог проигнорировать это значение, что моя функция MIN() даст мне valud resulst назад - и не 0

???

Спасибо за помощь!

+0

Что бы вы хотели бы вернуться, если нет «X» не найдены? – Zerk

+0

@ Zerk: Привет, Zerk, спасибо за ваш ответ ... ничего! Я хочу игнорировать ячейки, у которых нет «Х»! – nbg15

+0

Хотя [MINIF] (http://stackoverflow.com/questions/34833434/need-to-grab-the-highest-and-lowest-number-in-adjacent-cells/34835097#34835097) не поддерживает то, что Я читал в вашем рассказе, он, кажется, отвечает на общую проблему; например минимальное число, когда строка 7 равна нулю. Office 365 поддерживает родной MINIF, см. [MINIF] (http://stackoverflow.com/questions/34833434/need-to-grab-the-highest-and-lowest-number-in-adjacent-cells/34835097#34835097) для псевдо-MINIF AGGREGATE. – Jeeped

ответ

2

в заявлениях, если вы могли бы добавить очень большое значение для использования в ложном случае:

=MIN(IF(C7="X";C20;99999);IF(D7="X";D20;99999)) 

Однако это будет означать, что если нет X, тогда вычисленное значение будет равно 99999. Но для случаев, когда есть хотя бы один X, вы получите правильное минимальное значение. Просто убедитесь, что значение FALSE достаточно велико, чтобы всегда быть больше значений в строке 20.

Если вам нужно определенное значение, если нет найденного X, вы можете иметь скрытую ячейку для вычисления выше, и другая ячейка проверяет его значение. например .:

A1 = MIN(IF(C7="X";C20;99999);IF(D7="X";D20;99999)) 
A2 = IF(A1=99999;"No Matches";A1) 

Или вы также можете объединить все это в одну ячейку, если вы не возражаете сложную формулу:

= IF(MIN(IF(C7="X";C20;99999);IF(D7="X";D20;99999)) = 99999 ; 
     "No Matches" ; 
     MIN(IF(C7="X";C20;99999);IF(D7="X";D20;99999))) 
+0

, который помог мне: = MIN (IF (C7 = «X», C20; 99999); IF (D7 = "X"; D20; 99999)) THANKKSSSSSSSSSSSSSSSSSSSSSSSS – nbg15

2

Я просто проверил эту формулу против ваших сценариев, и она работала для всех случаев:

1) X в обоих С7 и D7 (возвращает 9)
2) X в только D7 (возвращает 10)
3) X только в С7 (возвращает 9)
4) нет X в С7, ни D7 (возвращает 0)

=IF(AND(C7="X",D7="X"),MIN(C20:D20),IF(COUNTIF(C7:D7,"X")>0,INDEX(C20:D20,MATCH("X",C7:D7,0)),0)) 
+0

Holtzmann: Извините, но проблема в том, что когда я добавляю больше, чем 2 COlumn в свои диапазоны, это дает мне самое маленькое количество моего диапазона назад .... – nbg15

+0

это мой/ваш код, который работает с тремя столбцами: = WENN (UND (C7 = «X»; D7 = «X», E7 = «X»), MIN (C20: E20), WENN (ZÄHLENWENN (C7) : E7; «X»)> 0; INDEX (C20: E20; VERGLEICH («X»; C7: E7; 0)); 0)) – nbg15

+0

«WENN» означает IF ----------- «VERGLEICH» означает MATCH ----------- «ZÄHLENWENN» означает COUNTIF – nbg15