(Ячейка A1) Ссылочный номер счета- фактуры EPS-I-S151001

(Ячейка B1) Дата счета 05/Oct/15

После того, как Дата счета-фактуры введена вручную, номер ссылки на счет-фактура будет создан автоматически.

Формат справочного номера следующий: EPS-I-S151001.

«EPS-IS» - это фиксированные символы.

Первые 2 цифры, "15" = "Год"

Следующие 2 цифры, "10" = "Месяц"

Последние 2 цифры, "01" = номера с 01 года.

Например:

Счет-фактура № даты выставления счета

EPS-I-S151001 10-ноя-15

EPS-I-S151002 15 ноября 15

EPS-I-S151003 30 ноября 15

Последние 2 цифры будут продолжаться последовательно.

На первые 4 цифры будут влиять любые изменения в Месяце или Годе. Любое изменение в Месяце или Годе побудит последние 2 числа вернуться к 01.

Счет-фактура № даты выставления счета

EPS-I-S151001 10-ноя-15

EPS-I-S151002 15 ноября 15

EPS-I-S15 1201 22- дек -15 (новый месяц)

EPS-I-S151202 23 декабря 15

EPS-I-S151203 25 декабря 15

EPS-I-S16 0101 с 03 января по 16 января (новый год / месяц)

EPS-I-S160102 15 января 16

EPS-I-S160103 22 января 16

2 ответа2

0

Я думаю, у нас есть решение для вас:

Не обращайте внимания на немного другой формат даты, это просто форматирование. Мне нужно было оставить пустую первую строку данных, потому что дата сравнивается с предыдущей строкой, и она должна быть либо пустой, либо датой в LibraOffice Calc (пропуск ее может работать в Excel, у нее не было готового доступа для проверки этого). Альтернативой может быть жесткий код первого номера счета в строке 2.

Таким образом, начало формулы в A3 будет:

=IF(ISBLANK(B3),"","EPS-I-S"&TEXT(B3,"yy")&TEXT(B3,"mm")&TEXT(IF(MONTH(B3)=MONTH(B2),VALUE(RIGHT(A2,2))+1,1),"00"))

Скопируйте этот столбец А так далеко, как вам нужно. Ячейки останутся пустыми, пока вы не введете дату в столбце B. Это то, что тест ISBLANK делает в начале. Вы уже выяснили следующие несколько терминов, хотя удалили их, когда обновили вопрос. Они предоставляют префикс, год и месяц.

Это подводит нас к порядковому номеру. Изменение года также включает в себя изменение месяца (при условии, что вы не проведете целый год до следующего счета, и в этом случае у вас будет больше поводов для беспокойства, чем в этой электронной таблице). Поэтому, если дата совпадает с предыдущей датой, она добавляет 1 к числу. В противном случае он начинается с 1 .

0

Подобные проблемы гораздо проще решить, если вы используете «вспомогательные столбцы» - столбцы, которые содержат промежуточные результаты, которые вы не хотите отображать, но которые входят в создание значения, которое вы действительно хотите.  Для этой проблемы я буду использовать один вспомогательный столбец, и его содержимое станет очевидным, как только вы их увидите.  Я буду использовать столбец G Ссылаясь на предыдущую версию вашего вопроса, я предполагаю, что ваши данные начинаются со строки 3, и я предполагаю, что ячейка G2 пуста.

  • Установите для G3 значение =IF(TEXT(B3,"yymm")<>TEXT(B2,"yymm"), 1, G2+1)
    Это говорит: «Если дата счета в этой строке (B3) имеет другой год или месяц, отличный от даты в предыдущей строке (B2), то установите G3 в 1 ; в противном случае добавьте 1 к предыдущему значению (G2) ».  Т.е. это бегущая серия, которая сбрасывается в 1 при появлении нового месяца.
  • Установите для A3 значение =IF(B3="", "", "EPS-I-S" & TEXT(B3, "yymm") & TEXT(G3, "00"))
    Это говорит: «Если дата счета в этой строке (ячейка B3) пуста, ничего не отображать.  В противном случае создайте ссылочный номер счета-фактуры, используя постоянную строку, год и месяц от даты в столбце B и однозначное число из столбца G (отформатированный как двузначное число, с начальным нулем, если необходимо). »

Затем перетащите / заполните формулы в столбцах A и G так далеко, как вы хотите.

     

Примечание: как только у вас все заработает, вы можете скрыть вспомогательные столбцы.

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