Я пытаюсь преобразовать двухнедельный период оплаты в недельные даты. Допустим , у меня есть 3/2/2012 3/16/2012 3/30/2012 и некоторые пробелы , а затем снова в две недели даты.

генерировать 3/9/2012 3/16/2012 3/23/2012 3/30/2012 , и так далее ...Я пытался использовать INDEX и MATCH но это снова дало бы мне раз в две недели. Идеальным способом было бы сопоставлять и генерировать недели из моих рандомизированных раз в две недели. Вот пример моего рабочего листа:

2 ответа2

0

Хорошо, вот как это сделать:

  1. Создайте новый лист.
  2. Выберите столбец K и примените форматирование данных типа даты.
  3. В ячейку K2 введите следующую формулу: (замените Sheet1 на имя рабочего листа вашими данными).

    =IF(MOD(ROW(K2),2)=1,K1+7,INDIRECT("Sheet1!R"&(1+(ROW(K2))/2)&"C"&COLUMN(K2),FALSE))
    
  4. Перетащите эту формулу на лист столько, сколько вам нужно.

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

Если вам нужно, чтобы ячейки в других столбцах были пустыми, замените эквивалент для K1+7 в формуле на "" .

И последнее, но не менее важное: хотя эта формула работает, вот предупреждение об этом методе: функция INDIRECT работает довольно медленно, поэтому могут возникнуть проблемы с производительностью, если у вас много данных.

0

Вот один из способов получить новый столбец еженедельных дат в P2 на основе двухнедельных дат, которые у вас уже есть в I2 вниз

Поместите эту формулу в P2

=INDEX(I$2:I$1000,(ROWS(P$2:P2)+1)/2)

и эта формула в P3

=IF(P2>0,P2+7,0)

Отформатируйте обе эти ячейки с помощью этого пользовательского формата

м / д / гггг ;;

убедитесь, что вы включаете две точки с запятой в конце

Теперь выберите P2 и P3 и перетащите колонку вниз, пока не получите пробелы.

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