Возможно ли иметь уравнение =if, включающее текст и математику?

Возможно ли иметь уравнение =if, включающее текст и математику?

Вот к чему я стремлюсь:

=ЕСЛИ(ЛЕВЫЙ(Q3,2)="По","см. авторизующую лабораторию"&"-"&СУММА(Q3-L3))

Я пытаюсь сказать, что ЕСЛИ в Q3 указано «К», то следует вернуть «см. авторизующую лабораторию», если нет, то вычесть L3 из Q3 (обе ячейки — даты) и вернуть количество прошедших дней.

решение1

Похоже, что ячейка Q3имеет формат By [date]. Excel видит это как текстовое значение, а не значение даты. Таким образом, вы не можете сделать что-то вроде Q3-L3. Я предполагаю, что именно здесь и возникает путаница. У вас есть несколько вариантов решения проблемы в зависимости от того, как настроены ваши данные. Прежде чем мы перейдем к ним, давайте очистим вашу формулу. Ядуматьты хочешьилипоказать текст «См. авторизующую лабораторию»илипоказать, сколько дней, пока он, как ожидается, будет готов. Если это так, формула должна быть

=IF(LEFT(Q3,2)="By", "See authorizing lab", Q3-L3)

Теперь, для Q3-L3части, нам нужно извлечь значение даты из текстового значения. Для этого есть функция. Поскольку мы хотим пропустить первые 3 символа ( By), мы также воспользуемся функцией MID.

DATEVALUE(MID(Q3,4,LEN(Q3)))

Это извлечет весь текст, начиная с четвертого символа, и попытается преобразовать его в значение даты. Подставив это в остальную часть формулы, получим:

=IF(LEFT(Q3,2)="By", "See authorizing lab", DATEVALUE(MID(Q3,4,LEN(Q3)))-L3)

решение2

Конечно, вы можете это сделать, нет никаких причин, по которым вы не можете использовать текст и математику в одной и той же IFфункции.

Ваш пример не соответствует формату функции IF, который выглядит следующим образом:

=IF(logical_test, value_if_true, value_if_false)

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

=IF(LEFT(Q3,2)="By", "see authorizing lab", Q3-L3)

(Кроме того, нет необходимости использовать эту SUMфункцию, если вы не пытаетесь сложить диапазон чисел.)

Связанный контент