Страницы: 1
RSS
Вычислить следующее "свободное значение" в столбце
 
Прошу помочь с формулой. Есть столбец произвольных чисел из 6ти знаков. Нужно формулой вычислить следующее "свободное значение" в столбце. Необходимо в таблицу вклинивать строки и присваивать значения, при чем новое значение определенно, к примеру с 256789, с дальнейшем дополнением таблицы(вклиниванием строк) в.у. номер +1..., но если есть уже такое значение, то его берут за основу +1(значения не должны повторяться).

Пример:
125689
159860
509500
785054
159861
256791
256792

При вставлении строки новой строке будет присваиваться указанное значение 256789
Вклинивая новый строки их значения будут
256789
256790
256793
256794
...
 
=ИНДЕКС($A:$A;АГРЕГАТ(15;6;СТРОКА($A$1:$A$7)/(СМЕЩ($A$1:$A$7;1;0)-$A$1:$A$7>1);1))+1

Формула массива (ФМ) вводится Ctrl+Shift+Enter
Memento mori
 
Спасибо за попытку помочь. Не совсем понял, как внедрить данную формулу. Прикладываю пример файла.
 
А простая МАКС никак не подходит?
=МАКС(C4:C10000)+1

и еще вариант, если надо учитывать начальный номер:
=ЕСЛИ(МАКС(C4:C10000)+1>C1;МАКС(C4:C10000);C1+1)
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Цитата
The_Prist написал:
А простая МАКС никак не подходит?
=МАКС(C4:C10000)+1
К сожалению "макс" не подходит, нужно начинать счет с определенного значения и учитывать уже существующие значения.
 
Цитата
AndreyPlaneta написал:
счет с определенного значения и учитывать уже существующие значения
см. дополнение сообщения выше.

А еще лучше поясните, как влияет начальное значение на отбор. Надо отбирать числа, выше указанного или только среди тех чисел, которые в столбце идут ниже указанного числа(в плане позиции в строке)?
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Цитата
The_Prist написал:
А еще лучше поясните, как влияет начальное значение на отбор. Надо отбирать числа, выше указанного или только среди тех чисел, которые в столбце идут ниже указанного числа(в плане позиции в строке)?
В самой верхней ячейке нужно выводить максимально приближенное большее незанятое значение к начальному числу(неизменное, произвольное и вводится самостоятельно).

Пример

12
13
14
16
17
19
20

при начальном значении 10 выводиться должно по порядку заполнения: 11,15,18,21
при начальном значении 11 выводиться должно по порядку заполнения: 11,15,18,21
при начальном значении 12 выводиться должно по порядку заполнения: 15,18,21
при начальном значении 21 выводиться должно по порядку заполнения: 21
...
 
Выложите пример, который явно покажет откуда берется список этих значений и где надо список продолжать. В Вашем примере есть только одно начальное, список значений и одна ячейка "<== Указывает следующее доступное значение ". Что несколько противоречит описанному в последнем сообщении.
Как я понял надо опираться и на список, и на введенное значение. Но куда тогда новый список выводить?

P.S. Есть подозрение, что без сортировки или доп.столбцов без макросов не решить. Или решение будет слишком замороченное.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
тож ни фигаськи не понял подогнал под нужный результат с доп вычислениями
Лень двигатель прогресса, доказано!!!
 
Цитата
The_Prist написал:
Выложите пример, который явно покажет откуда берется список этих значений и где надо список продолжать. В Вашем примере есть только одно начальное, список значений и одна ячейка "<== Указывает следующее доступное значение ". Что несколько противоречит описанному в последнем сообщении.
Как я понял надо опираться и на список, и на введенное значение. Но куда тогда новый список выводить?

P.S. Есть подозрение, что без сортировки или доп.столбцов без макросов не решить. Или решение будет слишком замороченное.
Возможно немного запутал вас.
Цитата
Сергей написал:
тож ни фигаськи не понял подогнал под нужный результат с доп вычислениями

Прикрепленные файлы
тест (6).xlsx (8.68 КБ)
Очень похоже, но нужно как то проще в одной ячейке, без доп. столбцов.

Давайте  еще раз попробую объяснить.

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

Цитата
AndreyPlaneta написал:
при начальном значении 10 выводиться должно по порядку заполнения: 11,15,18,21
при начальном значении 11 выводиться должно по порядку заполнения: 11,15,18,21
при начальном значении 12 выводиться должно по порядку заполнения: 15,18,21
при начальном значении 21 выводиться должно по порядку заполнения: 21
Имелось ввиду, что пользователь можем ввести любое начальное значение.
Цитата
AndreyPlaneta написал:
11,15,18,21
А тут имелось ввиду, что пользователь смотрит, что следующее 11 вносит его в любую строку и в указанном месте происходит обновление искомого значения и следующее значение, которое выдаст формула -15.
 
вот без доп столбцов тренируйтесь
Лень двигатель прогресса, доказано!!!
 
Цитата
Сергей написал:
вот без доп столбцов тренируйтесь

Прикрепленные файлы
тест (6).xlsx (9.48 КБ)
Супер!, спасибо! Но есть одно но. Если вводить начальное значение = доступному свободному значению формула выдает следующее свободное значение, а не его(или ошибку).
 
для последнего примера
Код
=ЕСЛИОШИБКА(ЕСЛИ(ЕОШИБКА(ПОИСКПОЗ($C$1;$C$4:$C$19;0));C1;ИНДЕКС($C$1+СТРОКА($1:$10);ПОИСКПОЗ(1;--(НАИМЕНЬШИЙ(ЕСЛИ($C$4:$C$19>$C$1;$C$4:$C$19);СТРОКА($1:$10))<>($C$1+СТРОКА($1:$10)));0)));"нет свободных мест")
Лень двигатель прогресса, доказано!!!
 
Цитата
Сергей написал:
для последнего примера Код?1=ЕСЛИОШИБКА(ЕСЛИ(ЕОШИБКА(ПОИСКПОЗ($C$1;$C$4:$C$19;0));C1;ИНДЕКС($C$1+СТРОКА($1:$10);ПОИСКПОЗ(1;--(НАИМЕНЬШИЙ(ЕСЛИ($C$4:$C$19>$C$1;$C$4:$C$19);СТРОКА($1:$10))<>($C$1+СТРОКА($1:$10)));0)));"нет свободных мест")
Данная функция не выдает нужный результат. :(
 
AndreyPlaneta, пример неправильной работы в файле приложите с пояснением
ПС и почистите цитаты а то получите втык от модераторов цитируйте только необходимую для понимания информацию или обращайтесь по имени рядом с кнопкой Цитировать есть кнопка Имя
Лень двигатель прогресса, доказано!!!
 
Пример некорректной работы во вложении.
 
AndreyPlaneta, не понял последняя же формула работает нормально у вас в примере написано верно (показывает отсутствующую позицию а не +1) что не так то
Да кстати это МАССИВНАЯ формула
Изменено: Сергей - 07.10.2015 10:13:15
Лень двигатель прогресса, доказано!!!
 
Ещё вариант формулы массива (идею подсмотрела у Сергея)
Код
=ИНДЕКС($C$1+СТРОКА($1:$10)-1;ПОИСКПОЗ(0;МУМНОЖ(--($C$1+СТРОКА($1:$10)-1=ТРАНСП(C4:C10));СТРОКА(C4:C10)^0);0))
 
Разные листы, посмотрите внимательнее, разные начальные значения.
 
AndreyPlaneta, формула вводится контрл+шифт+энтер
Лень двигатель прогресса, доказано!!!
 
Цитата
Pelena написал:
Ещё вариант формулы массива (идею подсмотрела у Сергея)
Все идеально. Спасибо большое всем! Тему можно закрыть.
Страницы: 1
Наверх