Що потрібно зробити - і що ми повинні були попросити вас зробити два дні тому - це дати деякі приклади того, які результати ви хочете для того, що вхідні дані. Так, я знаю, що ви дали нам декілька, але вони повинні були редагувати питання; коментарі є вузьким місцем для табличних даних і довгих формул, і вони є неправильним місцем для інформації, необхідної для розуміння питання. У будь-якому випадку, я створив для вас кілька зразкових даних. Зауважте, що вони не всі правильні. Я знаю, що вони не всі правильні, тому що вони несумісні, але також я мав би труднощі, щоб зробити їх правильними, тому що я все ще намагаюся зрозуміти, що ви хочете.
Case D E G I K L (Result)
fee 40 1 39
fie 40 0.01 39.99
foe 40 0 40
fum 40 40
foo 40 0
Якщо випадки feeі fieне відображають того, що ви хочете, у нас є серйозна проблема спілкування. Якщо ви ніколи, ніколи, в Gazillion років мають фактичний 0в E2, G2, I2, або K2, то ми на самому ділі не потрібно турбуватися про те випадку foe. Отже, питання $ 40,000: ви хочете fum( L2= 40) або foo( L2= 0)?
fum( L2= 40)
Це просто. Встановіть L2будь-який з наведених нижче
=D2-E2-G2-I2-K2
=D2-(E2+G2+I2+K2)
=D2-SUM(E2,G2,I2,K2)
які є еквівалентними.
foo( L2= 0)
Трохи довше, але так само очевидно:
=IF(OR(ISNUMBER(E2),ISNUMBER(G2),ISNUMBER(I2),ISNUMBER(K2)), D2-E2-G2-I2-K2, 0)
Це може виглядати знайомим, оскільки відповідь Тейліна в поєднанні з моїм коментарем ("Якщо ви хочете, щоб вирахування обчислювалося, якщо будь-яка або всі клітини мають значення, ... використовуйте ORзамість AND.")
А? Що?
Ваша оригінальна формула,
=IF(AND(ISNUMBER(E2),ISNUMBER(G2),ISNUMBER(I2),ISNUMBER(K2),),"",D2-E2-G2-I2-K2)
є (як вказав Тейлін) виклик AND()функції з п'ятьма параметрами:
ISNUMBER(E2),
ISNUMBER(G2),
ISNUMBER(I2),
ISNUMBER(K2), і
- (порожній).
Добре, якщо порожнє значення використовується як число в Excel, воно розглядається як би 0 (нуль). Тому " fum" формула працює: клітинки, які є порожніми, розглядаються так, ніби вони містять 0. Аналогічно, якщо порожнє значення використовується як логічне (тобто логічне значення) в Excel, воно трактується так, як якщо б воно було FALSE. Отже, ваша формула діє так
= IF (AND (ISNUMBER (E2), ISNUMBER (G2), ISNUMBER (I2), ISNUMBER (K2), FALSE ), D2-E2-G2-I2-K2)
Так як є , то вищезгадане зводиться доAND(anything, FALSE)FALSE
=IF(FALSE, "", D2-E2-G2-I2-K2)
або просто
=D2-E2-G2-I2-K2
Це може виглядати знайомим, оскільки це fumформула " ".
Ми ще є?
Якщо я пропустив якийсь таємний аспект вашого питання, відредагуйте своє питання, щоб пояснити його; наприклад, додайте зразкові дані, де жодна з наведених вище відповідей не дає бажаних результатів.
E2,G2,I2, і ,K2якщо не цифри? Бланки? Якщо ви хочете, щоб вирахування обчислювалося, якщо будь-яка або всі клітинки мають значення, використовуйтеORзамістьAND. (Також внесіть зміни, запропоновані тейліном .)