Всем привет. Не могу никак сам справится. В столбце А:А нужна формула для нумерации в зависимости от столбца В:В. НО MAX(В$1:В1+1) или IF(B2<>"";MAX(A$1:A1)+1;"") не подходит, т.е. если заполнить ячейку В3 то все следующие номера сбиваются (А3=3 , А5=4) Если В1<>"" тогда А1=1) Если В2<>"" тогда А2=2 иначе "" Если В3<>"" тогда А3=3 иначе "" Если В4<>"" тогда А4=4 иначе "" Если В5<>"" тогда А5=5 иначе "" ... и т.д. в примере имеем А1=1, А2=2, А3=0, А4=0, А5=3 Если заполнить В3, то имеем А1=1, А2=2, А3=3, А4=0, А5=4 Как сделать чтоб А5 и все следующие столбца А не изменялись, а при заполнении В3 ячейка А3=19 как в примере (Лист2)?
Всем привет. Не могу никак сам справится. В столбце А:А нужна формула для нумерации в зависимости от столбца В:В. НО MAX(В$1:В1+1) или IF(B2<>"";MAX(A$1:A1)+1;"") не подходит, т.е. если заполнить ячейку В3 то все следующие номера сбиваются (А3=3 , А5=4) Если В1<>"" тогда А1=1) Если В2<>"" тогда А2=2 иначе "" Если В3<>"" тогда А3=3 иначе "" Если В4<>"" тогда А4=4 иначе "" Если В5<>"" тогда А5=5 иначе "" ... и т.д. в примере имеем А1=1, А2=2, А3=0, А4=0, А5=3 Если заполнить В3, то имеем А1=1, А2=2, А3=3, А4=0, А5=4 Как сделать чтоб А5 и все следующие столбца А не изменялись, а при заполнении В3 ячейка А3=19 как в примере (Лист2)?bygaga
Не совсем понял задачу, но если имеется ввиду что при заполнении ячейки В1 в ячейке А1 должен отображяться номер строки, то формула для ячейки А1: =ЕСЛИ(B1<>"";СТРОКА();"")
Не совсем понял задачу, но если имеется ввиду что при заполнении ячейки В1 в ячейке А1 должен отображяться номер строки, то формула для ячейки А1: =ЕСЛИ(B1<>"";СТРОКА();"")Niff-Nif
Сообщение отредактировал Niff-Nif - Среда, 13.02.2013, 10:21
не пойдет. Нужна нумерация в зависимости от столбца В - Если(B1<>"";нумеруем;""), но вот это "нумеруем" - это фантастичекая формула, которая не будет менять нумерацию в остальных ячейках, если ввести в ячейку номер вручную PS: и вводить номер можно в любую ячейку столбца А, которая не емеет номера по формуле
Цитата (Niff-Nif)
_Boroda_
Простите, но в вашем примере мой Excel 2003 показывает ошибку #VALUE! Как я понял, изминение можно внести только в В3 чтоб формула работала. А если я внесу значение в В4 или В24? Формула должна чтобы при вводе в любую из ячеек В:В, нумерация в А:А продолжалась из последнего существующего номера + 1. Это был лишь один пример из ячейкой В3. Если же кроме В3="значение" ввести и в В25="значение", то А25=20. А если не вводить значение в В3, а токо в В25?... Кстати, Александр, мне удалось исправить ошибку #VALUE! - в Вашей формуле "адрес" написал на англ.языке "address"
Цитата (Michael_S)
нужны итерации, а это гемор хуже макросов
Согласен
Цитата (Niff-Nif)
=ЕСЛИ(B1<>"";СТРОКА();"")
не пойдет. Нужна нумерация в зависимости от столбца В - Если(B1<>"";нумеруем;""), но вот это "нумеруем" - это фантастичекая формула, которая не будет менять нумерацию в остальных ячейках, если ввести в ячейку номер вручную PS: и вводить номер можно в любую ячейку столбца А, которая не емеет номера по формуле
Цитата (Niff-Nif)
_Boroda_
Простите, но в вашем примере мой Excel 2003 показывает ошибку #VALUE! Как я понял, изминение можно внести только в В3 чтоб формула работала. А если я внесу значение в В4 или В24? Формула должна чтобы при вводе в любую из ячеек В:В, нумерация в А:А продолжалась из последнего существующего номера + 1. Это был лишь один пример из ячейкой В3. Если же кроме В3="значение" ввести и в В25="значение", то А25=20. А если не вводить значение в В3, а токо в В25?... Кстати, Александр, мне удалось исправить ошибку #VALUE! - в Вашей формуле "адрес" написал на англ.языке "address"bygaga
Сообщение отредактировал bygaga - Среда, 13.02.2013, 12:47
bygaga, я вам уже сказал - формулами это очень сложно, потребуются итерации и, как минимум, один доп. столбец. Да и в процессе использования файла время от времени придется включать итерации. Макросом - легко.
bygaga, я вам уже сказал - формулами это очень сложно, потребуются итерации и, как минимум, один доп. столбец. Да и в процессе использования файла время от времени придется включать итерации. Макросом - легко.Michael_S
неа, все-таки нумерация - то есть, значение будет менятся только в ячейках В:В, а в ячейках А:А макрос (врядли формула осилит это) будет заполнять ячейки А:А номером
Цитата (Michael_S)
формулами это очень сложно
Вы правы. Но макрос я сам написать не смогу
Цитата (wild_pig)
Может не нумерация нужна
неа, все-таки нумерация - то есть, значение будет менятся только в ячейках В:В, а в ячейках А:А макрос (врядли формула осилит это) будет заполнять ячейки А:А номером
Цитата (Michael_S)
формулами это очень сложно
Вы правы. Но макрос я сам написать не смогу bygaga
Сообщение отредактировал bygaga - Среда, 13.02.2013, 15:12
Если быть проще, то номера в А:А должны заполнятся автоматически в зависимости от заполнения В:В, причем в уже пронумерованных ячейках А:А номера не должны менятся при внесении значения в любую ячейку В:В
Цитата (_Boroda_)
Ничего не понял
Если быть проще, то номера в А:А должны заполнятся автоматически в зависимости от заполнения В:В, причем в уже пронумерованных ячейках А:А номера не должны менятся при внесении значения в любую ячейку В:Вbygaga
Как сделать чтоб А5 и все следующие столбца А не изменялись, а при заполнении В3 ячейка А3=19 как в примере (Лист2)?
Человеческим языком объясните, как нумеровать) И какой смысл в нумерации по-порядку, если вставить "19" вместо "3". Или должно идти так: "1","2","19","3", "4", "5"..... т.е. те ячейки, которые ввели руками не должны учитываться?
Цитата (bygaga)
Как сделать чтоб А5 и все следующие столбца А не изменялись, а при заполнении В3 ячейка А3=19 как в примере (Лист2)?
Человеческим языком объясните, как нумеровать) И какой смысл в нумерации по-порядку, если вставить "19" вместо "3". Или должно идти так: "1","2","19","3", "4", "5"..... т.е. те ячейки, которые ввели руками не должны учитываться?wild_pig
Как первоначальный вариант. Ни чего не сказано, что нужно, если уже внесенные данные в столбце В:В удаляются, потому этот вариант и не рассматривается.
Как первоначальный вариант. Ни чего не сказано, что нужно, если уже внесенные данные в столбце В:В удаляются, потому этот вариант и не рассматривается.Michael_S
Алексей, нумерация может быть в произвольном (раскиданном) порядке Если сегодня я поставил "значение" в ячейку В3 (В3 уже не пустая яч.), то в А3=последний номер в диапазоне А:А + 1 (то есть 19) Если сегодня я снова поставил значение в пустую ячейку В:В (допустим, В25) какое-то "значение", то номер А:А + 1 (то есть уже 20) и так я в произвольном порядке могу вносить значения в пустые ячейки В:В и в порядке внесения значений солбец А:А нумеруется, при этом уже пронумерованные ячейки А:А не должны изменятся если же я вношу изменения в НЕпустую ячейку столбца В:В номер НЕменяется
Цитата (wild_pig)
Или должно идти так
это один из вариантов. а 19 - это потому что последний номер в столбце А:А = 18, следующий 19, это "19" стало в А3, потому что я внес значение в ПУСТУЮ ячейку В3
Алексей, нумерация может быть в произвольном (раскиданном) порядке Если сегодня я поставил "значение" в ячейку В3 (В3 уже не пустая яч.), то в А3=последний номер в диапазоне А:А + 1 (то есть 19) Если сегодня я снова поставил значение в пустую ячейку В:В (допустим, В25) какое-то "значение", то номер А:А + 1 (то есть уже 20) и так я в произвольном порядке могу вносить значения в пустые ячейки В:В и в порядке внесения значений солбец А:А нумеруется, при этом уже пронумерованные ячейки А:А не должны изменятся если же я вношу изменения в НЕпустую ячейку столбца В:В номер НЕменяется
Цитата (wild_pig)
Или должно идти так
это один из вариантов. а 19 - это потому что последний номер в столбце А:А = 18, следующий 19, это "19" стало в А3, потому что я внес значение в ПУСТУЮ ячейку В3bygaga
Михаил, простите, но еще одну деталь забыл А если в столбце В:В стоит формула, от которой значение в ячейке может менятся? и если по формуле выходит <>0 или <>"", тогда нумеруем? как макрос поменять?
Михаил, простите, но еще одну деталь забыл А если в столбце В:В стоит формула, от которой значение в ячейке может менятся? и если по формуле выходит <>0 или <>"", тогда нумеруем? как макрос поменять?bygaga
Сообщение отредактировал bygaga - Среда, 13.02.2013, 15:55
Вот пример. Нужно поставить автоматически № счета в диапазон В10:В185 указав № первого (В9=685 например) Номер счета в этом примере зависит от столбца С9:С185 То есть, если ИЛИ(C10="н";C10="р";C10="ч";C10="+"), то № счета = В9+1 и далее вниз, но учитывая то, что состояние любой ячейки В9:В185 может менятся, номер счета должен заполнятся с каждым изминением формулы столбца С:С, и № не должен повторятся
П.С. надеюсь больше "если" не вылезет
Вот пример. Нужно поставить автоматически № счета в диапазон В10:В185 указав № первого (В9=685 например) Номер счета в этом примере зависит от столбца С9:С185 То есть, если ИЛИ(C10="н";C10="р";C10="ч";C10="+"), то № счета = В9+1 и далее вниз, но учитывая то, что состояние любой ячейки В9:В185 может менятся, номер счета должен заполнятся с каждым изминением формулы столбца С:С, и № не должен повторятся
Посмотрел ваш пример вчера, посмотрел еще сегодня... что-то не понял логики расстановки и изменения номеров. Сделайте пример по-меньше (5-10 строчек достаточно) и покажите, что должно получиться. Мне не понятен весь процесс создания и заполнения таблиц.
Посмотрел ваш пример вчера, посмотрел еще сегодня... что-то не понял логики расстановки и изменения номеров. Сделайте пример по-меньше (5-10 строчек достаточно) и покажите, что должно получиться. Мне не понятен весь процесс создания и заполнения таблиц.Michael_S
Мне не понятен весь процесс создания и заполнения таблиц
Речь идет об Аренде. Рабочая книга имеет листы с названием месяцев. Каждый месяц выписываются счета, и каждый месяц нумерация продолжается, то есть если в январе номер первого счета = 1, то в феврале он может быть 345 или 216, то есть ЛЮБОЕ ЧИСЛО независимо от последнего номера в месяце (в примере - первый счет февраля имеет № 360). По этому следует в каждом новом месяце номер первого счета прописать вручную, а далее процесс номерации переложить на макрос Итак, после корректирования таблицы (а это - добавление новых контрагентов, изменение периода договора) ставим номер первого счета в месяце (в нашем случае это февраль). После ввода первого номера счета в месяце автоматически ставятся номера далее вниз.
Как должны нумероватся счета? Алгоритм такой (см. файл-вложение): 1. Если В9="", то далее не нумеруем. Если мы в В9 уже поставили какое-то число (В9<>""), то далее см. пункт 2 2. Если С10="+" или "р" или "ч" или "н", то В9+1. В ином случае В10="" Формулой этот вопрос решается так - в ячейку В10 вписываем:
НО когда мы уже поставили первый номер В9 и формула посчитала номера в В10:В18, у нас уже нет возможности менять данные без СМЕЩЕНИЙ номера счета. И если я в любой строке таблицы изменю период договора, то формула в свою очередь может изменить значение в столбце С и номер счета может СМЕСТИТСЯ на +1 или же -1, что неприпустимо. По этому нужно условие 3, которое есть в макросе: 3. Поиск максимального во всем столбце В и в случае если меняется значение например в ячейке С16 на OR(C10="+";C10="ч";C10="н";C10="р"), то В16=366, а В18 остается 365. По формуле В16=365, В18=366 (смещается на +1), Михаил, в Вашем примере сам процесс нумерации близок к истине, но там нет тех условий, которые есть в формуле, а они мне нужны.
4. И еще - макрос не реагирует на изменения значений по формуле, только на ввод вручную
Цитата (Michael_S)
Мне не понятен весь процесс создания и заполнения таблиц
Речь идет об Аренде. Рабочая книга имеет листы с названием месяцев. Каждый месяц выписываются счета, и каждый месяц нумерация продолжается, то есть если в январе номер первого счета = 1, то в феврале он может быть 345 или 216, то есть ЛЮБОЕ ЧИСЛО независимо от последнего номера в месяце (в примере - первый счет февраля имеет № 360). По этому следует в каждом новом месяце номер первого счета прописать вручную, а далее процесс номерации переложить на макрос Итак, после корректирования таблицы (а это - добавление новых контрагентов, изменение периода договора) ставим номер первого счета в месяце (в нашем случае это февраль). После ввода первого номера счета в месяце автоматически ставятся номера далее вниз.
Как должны нумероватся счета? Алгоритм такой (см. файл-вложение): 1. Если В9="", то далее не нумеруем. Если мы в В9 уже поставили какое-то число (В9<>""), то далее см. пункт 2 2. Если С10="+" или "р" или "ч" или "н", то В9+1. В ином случае В10="" Формулой этот вопрос решается так - в ячейку В10 вписываем:
НО когда мы уже поставили первый номер В9 и формула посчитала номера в В10:В18, у нас уже нет возможности менять данные без СМЕЩЕНИЙ номера счета. И если я в любой строке таблицы изменю период договора, то формула в свою очередь может изменить значение в столбце С и номер счета может СМЕСТИТСЯ на +1 или же -1, что неприпустимо. По этому нужно условие 3, которое есть в макросе: 3. Поиск максимального во всем столбце В и в случае если меняется значение например в ячейке С16 на OR(C10="+";C10="ч";C10="н";C10="р"), то В16=366, а В18 остается 365. По формуле В16=365, В18=366 (смещается на +1), Михаил, в Вашем примере сам процесс нумерации близок к истине, но там нет тех условий, которые есть в формуле, а они мне нужны.
4. И еще - макрос не реагирует на изменения значений по формуле, только на ввод вручную bygaga