Що потрібно зробити - і що ми повинні були попросити вас зробити два дні тому - це дати деякі приклади того, які результати ви хочете для того, що вхідні дані. Так, я знаю, що ви дали нам декілька, але вони повинні були редагувати питання; коментарі є вузьким місцем для табличних даних і довгих формул, і вони є неправильним місцем для інформації, необхідної для розуміння питання. У будь-якому випадку, я створив для вас кілька зразкових даних. Зауважте, що вони не всі правильні. Я знаю, що вони не всі правильні, тому що вони несумісні, але також я мав би труднощі, щоб зробити їх правильними, тому що я все ще намагаюся зрозуміти, що ви хочете.
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
. (Також внесіть зміни, запропоновані тейліном .)