-1

У меня есть простая электронная таблица со списком дат в одном из трех столбцов C, D или E

Следующая формула проверит, какой столбец содержит данные.

=IF(OR(C4>0,D4>0,E4>0),1,0)

Можете ли вы помочь мне заменить значение ИСТИНА в качестве месяца года для ячейки со значением даты?

3 ответа3

3

Существует более 1 способа сделать это. Я предполагаю, что в строке есть только одна дата (как вы упомянули) и что они не в текстовом формате.


Способ 1

  1. Введите формулу FF.

    =IF(OR(C4>0,D4>0,E4>0),SUM(C4:E4),0)

  2. Нажмите Ctrl + F1, нажмите Custom и введите mmmm yyyy (или mmmm если вы хотите только месяц) в поле. Нажмите ОК.

Или, если вы хотите, чтобы месяц / год были в тексте, измените формулу на:

=IF(OR(C4>0,D4>0,E4>0),TEXT(SUM(C4:E4),"mmm yyyy"),0)

и покончить с шагом 2.


Способ 2

Конденсировать свою формулу. Так как вам нужно только проверить, присутствует ли значение даты, покончить с оператором IF и просто СУММИТЬ ячейки или использовать MAX. Если они пусты, вы все равно получите 0.

=SUM(C4:E4)

или же

=MAX(C4:E4)

А затем измените формат чисел [1] на любой из следующих:

  • mmmm;0;0
  • mmmm yyyy;0;0
  • mmm;0;0
  • mmm yyyy;0;0

Способ 3

Использование HLOOKUP

=IF(OR(C4>0,D4>0,E4>0),HLOOKUP(MAX(C4:E4),C4:E4,1,FALSE),0)

или если вы используете MS Excel 2007 и выше:

=IFERROR(HLOOKUP(MAX(C4:E4),C4:E4,1,FALSE),0)

Не забудьте соответственно изменить формат чисел (см. Шаг 2 метода 1).

Если вы хотите вывод в текстовом формате, заключите формулы в функцию TEXT следующим образом:

=IF(OR(C4>0,D4>0,E4>0),TEXT(HLOOKUP(MAX(C4:E4),C4:E4,1,FALSE),"mmmm yyyy"),0)

или же

=IFERROR(TEXT(HLOOKUP(MAX(C4:E4),C4:E4,1,FALSE),"mmmm yyyy"),0)

[1] Для получения дополнительной информации о числовых форматах: http://office.microsoft.com/en-001/excel-help/number-format-codes-HP005198679.aspx

1

Быстро взломанное решение. Используйте вложенные IF:

=IF(C4>0,C4,IF(D4>0,D4,IF(E4>0,E4,0)))

Возможно, это лучший способ сделать это с помощью функции LOOKUP, но у вас нет времени, чтобы проверить это прямо сейчас.

1

Эта версия даст вам 0, если все 3 ячейки пусты, в противном случае вы получите номер месяца последней даты (позиционно).

=IF(COUNT(C4:E4),MONTH(LOOKUP(10^7,C4:E4)),0)

Не обязательно для 3 ячеек, но может быть расширен для любого диапазона размеров

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .