@236748659

Как сгенерировать число по столбику?

Я веду список вещей в гугл таблице, в ней я записываю каждую позицию одежды под индивидуальным номером.
Например: Рубашка - Артикул - Цена.
Одежда записана в столбик, так и артикулы прописываются в столбик:
Рубашка - артикул: 1 - 700р
Брюки - артикул: 2 - 900р
ну и тд.

Я хочу сделать в гугл таблицах такую ячейку, в которой бы показывался номер артикула которого нет во всём столбике. Формула должна проверят весь столбик на наличие цифр по порядку возрастания. Начинает проверят цифру 1, допустим она есть, даже не важно в какой именно строчке, формула начинает проверять дальше, цифра 2, тоже есть, цифра 3 тоже, и тд. Когда формула дойдёт до цифры в порядке возрастания которой нет в столбике, в этой ячейке с формулой должна отобразится эта цифра.
Иногда будут удалятся из списка какие то позиции вещей, это значит, что номер (артикул) под которым эта вещь была, освободится, и вот тогда ячейка с формулой должна отобразить свободное число в порядке возрастания, которое ещё не занято.
Пример:
1
2
23
568
453
23
6

Формула должна показать цифру: 3
  • Вопрос задан
  • 107 просмотров
Решения вопроса 1
otdameskapizm
@otdameskapizm
Помог ответ? Отметь решением...
Если я правильно понял Ваш запрос, то можете попробовать сделать так:

Вам нужно прописать формулу в Google Apps Script примерно вот такую, которая в качестве параметра будет принимать диапазон ячеек, в котором хранятся нужные для поиска номера (артикулы). Данная функция ищет первый по возрастанию пропущенный номер в диапазоне и выводит в отдельную ячейку
/**
 * Возвращает первый по возрастанию пропущенный номер
 * @param {String} searchingRange
 */
function getMissingNumber(searchingRange) {
  const values = searchingRange.map(item => Number(item))
  for (let i = 1; i < values.length; i += 1) {
    let currentNum = values[i]
    let previousNum = values[i - 1]
    if (currentNum - previousNum > 1 ) {
      return previousNum + 1
    }
  }
  return "Все номера на месте"
}


На выходе получается, что-то подобное:
65dd9efdb19ad791126776.png
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@236748659 Автор вопроса
Огромное спасибо за отклик и помощь)
Я всё сделал, и заметил один нюанс, если цифры идут не по порядку, то ячейка работает не так как надо. Она пишет самое первое число которое не встретила в ходе проверки. В примере ячейка выдаёт цифру 3, хотя в этом столбике цифра 3 уже есть. По идее ячейка должна выдать цифру 8

65de21210bcc1731587368.png
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы