Добавление недостающих дат в Excel

0

Иметь пару сотен тысяч строк данных о транзакциях за 4 года. Нужны полные данные в столбце даты, но для всех последующих транзакций (возможно, сотен) в этот день вводится только одна дата ... Мне нужно поместить дату в каждую строку, чтобы я мог сортировать, сводить и т. Д., Но, очевидно, не не хочу вручную копировать и вставлять до 1000 различных дат в ячейки почти 300 тыс. Может быть, новый столбец с оператором if / then, который вводит дату рядом, если не пусто, и пропускает вверх к следующей непустой ячейке и вводит эту дату, если она пуста, но я не знаю, как это сделать.

Аарон Эклер
источник
1
Проверьте этот ответ и посмотрите, что вы ищете. superuser.com/questions/1228741/…
patkim
Не могли бы вы поделиться частью исходных данных для лучшего понимания, а также ВЫХОДА. !! Я предполагаю, что у вас есть несколько записей для даты, определенной в источнике, и вы хотите, чтобы эта дата печаталась один раз вместе со всеми транзакциями в соседнем столбце в качестве вывода. ☺
Раджеш С

Ответы:

0

Сценарий, когда вспомогательные столбцы не скрыты:

введите описание изображения здесь

Сценарий, когда вспомогательные столбцы скрыты: введите описание изображения здесь

Я предполагаю, что у вас есть исходные данные в Range A3:B12.

Как это устроено:

  1. В столбце «Помощник» 1 напишите эту формулу в ячейке D3и заполните.

     =INDEX(A3,1,1)
    
  2. Для столбца 2 помощника напишите эту формулу в ячейке E3и заполните.

     =COUNTIF($D$3:$D3,D3)
    
  3. В ячейке F3напишите эту формулу и заполните, чтобы сгенерировать даты.

     =IF(D3=D2,"",D3)
    
  4. Запишите эту формулу массива в ячейке H3и заполните.

     {=INDEX($B$3:$B$12, SMALL(IF($D3=$A$3:$A$12, ROW($A$3:$A$12)-MIN(ROW($A$3:$A$12))+1, ""), E3))}
    

Примечание:

  • Завершите формулу массива с помощью Ctrl+Shift+Enter.
  • При необходимости измените ссылки на ячейки в формуле.
Раджеш С
источник
0

Формула, которую вы можете использовать, очень проста, именно так, как вы описали ее в своем вопросе. Просто для иллюстрации, давайте предположим, что ваши данные с датами начинаются в A1.

  • Добавьте одну дополнительную колонку (B).
  • В ячейку B1 скопируйте содержимое ячейки A1: =A1
  • В ячейку В2 положите =IF(A2="";B1;A2)
  • Теперь вы можете скопировать формулу в B2 до конца ваших данных

Это будет работать на основе двух условий:
(1) ваши данные должны быть отсортированы по дате (очевидно)
(2) когда даты нет, ячейка должна быть пустой (поэтому тест =""дает результат TRUE. Если ячейка содержит другие символы (пробелы или другие невидимые символы), вы должны сделать тест немного более сложным.

Питер К.
источник