Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Присвоение порядкового номера при изменении ячейки - Мир MS Excel

Старая форма входа
  • Страница 1 из 2
  • 1
  • 2
  • »
Модератор форума: китин, _Boroda_  
Присвоение порядкового номера при изменении ячейки
Gopronotmore Дата: Пятница, 05.07.2024, 11:25 | Сообщение № 1
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 233
Репутация: 3 ±
Замечаний: 0% ±

Excel 2007
Друзья, еще столкнулся с задачкой, которая у меня вызывает ряд трудностей.

Поясню коротко. Есть даты приходов. Сделал так что бы присваивалась ячейка автоматически, при вводе даты и названия позиции.

Как оптимально сделать так, что бы если мы хотим в эту ячейку положить что нибудь еще, то мы выбираем паллет и выбираем место.

Сделал это как вижу через 2 колонки. В одной колонке указывается паллет куда я буду это класть а во второй колонке указывается уникальный номер порядковый товара. (1,2,3,4)

И вот собственно вопрос, который я не могу решить, так как у меня присваивается номер ячейки А"ЦИФРА) из порядкового номера, получается что если у меня идет паллет А1, затем А2, затем А3. А3 я меняю на А1, и следующий должен по логике идти А3, но у меня идет А4. Можете помочь ?
К сообщению приложен файл: file_1.xlsx (72.6 Kb)
 
Ответить
СообщениеДрузья, еще столкнулся с задачкой, которая у меня вызывает ряд трудностей.

Поясню коротко. Есть даты приходов. Сделал так что бы присваивалась ячейка автоматически, при вводе даты и названия позиции.

Как оптимально сделать так, что бы если мы хотим в эту ячейку положить что нибудь еще, то мы выбираем паллет и выбираем место.

Сделал это как вижу через 2 колонки. В одной колонке указывается паллет куда я буду это класть а во второй колонке указывается уникальный номер порядковый товара. (1,2,3,4)

И вот собственно вопрос, который я не могу решить, так как у меня присваивается номер ячейки А"ЦИФРА) из порядкового номера, получается что если у меня идет паллет А1, затем А2, затем А3. А3 я меняю на А1, и следующий должен по логике идти А3, но у меня идет А4. Можете помочь ?

Автор - Gopronotmore
Дата добавления - 05.07.2024 в 11:25
Nic70y Дата: Пятница, 05.07.2024, 11:37 | Сообщение № 2
Группа: Друзья
Ранг: Экселист
Сообщений: 8937
Репутация: 2337 ±
Замечаний: 0% ±

Excel 2010
следующий должен по логике идти А3
непонятна логика.
почему не A2?


ЮMoney 41001841029809
 
Ответить
Сообщение
следующий должен по логике идти А3
непонятна логика.
почему не A2?

Автор - Nic70y
Дата добавления - 05.07.2024 в 11:37
Gopronotmore Дата: Пятница, 05.07.2024, 11:41 | Сообщение № 3
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 233
Репутация: 3 ±
Замечаний: 0% ±

Excel 2007
Nic70y, Ну тогда будут номера А1, А2, А1, и должен идти А3 потому что А2 уже есть. Мы А3 поменяли на А1, а А2 уже есть, значит след, А3


Сообщение отредактировал Gopronotmore - Пятница, 05.07.2024, 11:42
 
Ответить
СообщениеNic70y, Ну тогда будут номера А1, А2, А1, и должен идти А3 потому что А2 уже есть. Мы А3 поменяли на А1, а А2 уже есть, значит след, А3

Автор - Gopronotmore
Дата добавления - 05.07.2024 в 11:41
Gopronotmore Дата: Пятница, 05.07.2024, 11:45 | Сообщение № 4
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 233
Репутация: 3 ±
Замечаний: 0% ±

Excel 2007
Nic70y, Все я понял, да в файле должно идти А2, вы правы
 
Ответить
СообщениеNic70y, Все я понял, да в файле должно идти А2, вы правы

Автор - Gopronotmore
Дата добавления - 05.07.2024 в 11:45
Nic70y Дата: Пятница, 05.07.2024, 11:46 | Сообщение № 5
Группа: Друзья
Ранг: Экселист
Сообщений: 8937
Репутация: 2337 ±
Замечаний: 0% ±

Excel 2010
Gopronotmore, у Вас в файле вижу А1, А1-1, А1-2
А2 не вижу


ЮMoney 41001841029809
 
Ответить
СообщениеGopronotmore, у Вас в файле вижу А1, А1-1, А1-2
А2 не вижу

Автор - Nic70y
Дата добавления - 05.07.2024 в 11:46
Gopronotmore Дата: Пятница, 05.07.2024, 11:49 | Сообщение № 6
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 233
Репутация: 3 ±
Замечаний: 0% ±

Excel 2007
Nic70y, Вы правы, я привел пример не соответствующий тому что в файле, да должна быть идти А2
 
Ответить
СообщениеNic70y, Вы правы, я привел пример не соответствующий тому что в файле, да должна быть идти А2

Автор - Gopronotmore
Дата добавления - 05.07.2024 в 11:49
Hugo Дата: Пятница, 05.07.2024, 12:02 | Сообщение № 7
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3487
Репутация: 752 ±
Замечаний: 0% ±

365
Делайте так - если в F и G пусто, то считайте сколько выше таких строк и A+эточисло+1.
Ну а если заполнены - то как сейчас.


excel@nxt.ru
webmoney: E265281470651 Z422237915069
 
Ответить
СообщениеДелайте так - если в F и G пусто, то считайте сколько выше таких строк и A+эточисло+1.
Ну а если заполнены - то как сейчас.

Автор - Hugo
Дата добавления - 05.07.2024 в 12:02
Nic70y Дата: Пятница, 05.07.2024, 12:04 | Сообщение № 8
Группа: Друзья
Ранг: Экселист
Сообщений: 8937
Репутация: 2337 ±
Замечаний: 0% ±

Excel 2010
вариант
начиная с D4

ошибка, сейчас исправлю
исправил:
Код
=ЕСЛИ(C4;ЕСЛИ(И(G4<>"";F4<>"");F4&"-"&G4;СИМВОЛ(ОКРУГЛВВЕРХ((ЦЕЛОЕ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(D3;ЛЕВБ(D3););"-";ПСТР(1/7;2;1)))+1)/500;)+191)&ОСТАТ(ЦЕЛОЕ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(D3;ЛЕВБ(D3););"-";ПСТР(1/7;2;1)));500)+1);"")
К сообщению приложен файл: 115.xlsx (72.0 Kb)


ЮMoney 41001841029809

Сообщение отредактировал Nic70y - Пятница, 05.07.2024, 12:09
 
Ответить
Сообщениевариант
начиная с D4

ошибка, сейчас исправлю
исправил:
Код
=ЕСЛИ(C4;ЕСЛИ(И(G4<>"";F4<>"");F4&"-"&G4;СИМВОЛ(ОКРУГЛВВЕРХ((ЦЕЛОЕ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(D3;ЛЕВБ(D3););"-";ПСТР(1/7;2;1)))+1)/500;)+191)&ОСТАТ(ЦЕЛОЕ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(D3;ЛЕВБ(D3););"-";ПСТР(1/7;2;1)));500)+1);"")

Автор - Nic70y
Дата добавления - 05.07.2024 в 12:04
Gopronotmore Дата: Пятница, 05.07.2024, 12:26 | Сообщение № 9
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 233
Репутация: 3 ±
Замечаний: 0% ±

Excel 2007
Огонь, всегда восхищаюсь, как так можно в голове придумать и описать формулой Excel, это точно за рамками моего восприятия. Спасибо большое!
 
Ответить
СообщениеОгонь, всегда восхищаюсь, как так можно в голове придумать и описать формулой Excel, это точно за рамками моего восприятия. Спасибо большое!

Автор - Gopronotmore
Дата добавления - 05.07.2024 в 12:26
Gopronotmore Дата: Пятница, 05.07.2024, 12:31 | Сообщение № 10
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 233
Репутация: 3 ±
Замечаний: 0% ±

Excel 2007
Блин, а видимо если они будут идти не по порядку а через определенное количество, то мы ничего с этим сделать не сможем ???

Файл во вложении.
К сообщению приложен файл: 7582388.xlsx (110.8 Kb)
 
Ответить
СообщениеБлин, а видимо если они будут идти не по порядку а через определенное количество, то мы ничего с этим сделать не сможем ???

Файл во вложении.

Автор - Gopronotmore
Дата добавления - 05.07.2024 в 12:31
Nic70y Дата: Пятница, 05.07.2024, 13:42 | Сообщение № 11
Группа: Друзья
Ранг: Экселист
Сообщений: 8937
Репутация: 2337 ±
Замечаний: 0% ±

Excel 2010
[vba]
Код
Function u_4(a As Range, h As Range, i As Range)
    f = a.Column
    b = a.Row
    c = a.Rows.Count
    d = b + c - 1
    If h = "" And i = "" Then
        For e = d To b Step -1
            g = Cells(e, f).Value
            j = InStr(g, "-")
            If j = 0 Then
                k = Left(g, 1)
                l = --Mid(g, 2, 15)
                If l = 500 Then
                    k = Chr(Asc(k) + 1)
                    l = 1
                Else
                    l = l + 1
                End If
                u_4 = k & l
                Exit For
            End If
        Next
    Else
        u_4 = h & "-" & i
    End If
End Function
[/vba]
Код
=ЕСЛИ(B3;ЕСЛИОШИБКА(u_4(C$2:C2;D3;E3);"А1");"")

старый я стал, разучился формулы писать, да еще и не умел
К сообщению приложен файл: 7582388.xlsm (95.6 Kb)


ЮMoney 41001841029809

Сообщение отредактировал Nic70y - Пятница, 05.07.2024, 15:05
 
Ответить
Сообщение[vba]
Код
Function u_4(a As Range, h As Range, i As Range)
    f = a.Column
    b = a.Row
    c = a.Rows.Count
    d = b + c - 1
    If h = "" And i = "" Then
        For e = d To b Step -1
            g = Cells(e, f).Value
            j = InStr(g, "-")
            If j = 0 Then
                k = Left(g, 1)
                l = --Mid(g, 2, 15)
                If l = 500 Then
                    k = Chr(Asc(k) + 1)
                    l = 1
                Else
                    l = l + 1
                End If
                u_4 = k & l
                Exit For
            End If
        Next
    Else
        u_4 = h & "-" & i
    End If
End Function
[/vba]
Код
=ЕСЛИ(B3;ЕСЛИОШИБКА(u_4(C$2:C2;D3;E3);"А1");"")

старый я стал, разучился формулы писать, да еще и не умел

Автор - Nic70y
Дата добавления - 05.07.2024 в 13:42
Gopronotmore Дата: Пятница, 05.07.2024, 16:04 | Сообщение № 12
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 233
Репутация: 3 ±
Замечаний: 0% ±

Excel 2007
Nic70y,

да это мощно, спасибо, так бы я точно не сделал, от слова совсем
 
Ответить
СообщениеNic70y,

да это мощно, спасибо, так бы я точно не сделал, от слова совсем

Автор - Gopronotmore
Дата добавления - 05.07.2024 в 16:04
Gopronotmore Дата: Пятница, 05.07.2024, 16:43 | Сообщение № 13
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 233
Репутация: 3 ±
Замечаний: 0% ±

Excel 2007
Nic70y, А можно еще спросить по макросу, но по другой задачке, но к этому файлу?
 
Ответить
СообщениеNic70y, А можно еще спросить по макросу, но по другой задачке, но к этому файлу?

Автор - Gopronotmore
Дата добавления - 05.07.2024 в 16:43
Gopronotmore Дата: Пятница, 05.07.2024, 16:46 | Сообщение № 14
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 233
Репутация: 3 ±
Замечаний: 0% ±

Excel 2007
В листе 2 человек хочет найти определенную ячейку, как написать функцию, которая позволит в выпадающем списке вбивать значение и он будет делать поиск по ячейкам которые на листе 1?

Это возможно сделать?
К сообщению приложен файл: 5914336.xlsm (94.8 Kb)
 
Ответить
СообщениеВ листе 2 человек хочет найти определенную ячейку, как написать функцию, которая позволит в выпадающем списке вбивать значение и он будет делать поиск по ячейкам которые на листе 1?

Это возможно сделать?

Автор - Gopronotmore
Дата добавления - 05.07.2024 в 16:46
Hugo Дата: Пятница, 05.07.2024, 17:09 | Сообщение № 15
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3487
Репутация: 752 ±
Замечаний: 0% ±

365
а видимо если они будут идти не по порядку а через определенное количество, то мы ничего с этим сделать не сможем ???
- ну можем так


excel@nxt.ru
webmoney: E265281470651 Z422237915069
 
Ответить
Сообщение
а видимо если они будут идти не по порядку а через определенное количество, то мы ничего с этим сделать не сможем ???
- ну можем так

Автор - Hugo
Дата добавления - 05.07.2024 в 17:09
Nic70y Дата: Понедельник, 08.07.2024, 07:52 | Сообщение № 16
Группа: Друзья
Ранг: Экселист
Сообщений: 8937
Репутация: 2337 ±
Замечаний: 0% ±

Excel 2010
Hugo, все гениальное просто)
только буковки допилить.
но по другой задачке
Gopronotmore, нужна новая тема


ЮMoney 41001841029809
 
Ответить
СообщениеHugo, все гениальное просто)
только буковки допилить.
но по другой задачке
Gopronotmore, нужна новая тема

Автор - Nic70y
Дата добавления - 08.07.2024 в 07:52
Gopronotmore Дата: Понедельник, 08.07.2024, 09:11 | Сообщение № 17
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 233
Репутация: 3 ±
Замечаний: 0% ±

Excel 2007
Hugo, Дописал формулу, спасибо,

подскажите а как отвязаться от номеров в строке 1. Поясню, у меня формула криво работает, потому что потом образуется ячейка Б498 и тд, и дальше счет идет Б501, а должен идти с Б1 и опять до 500. Можно конечно с каждой вычитать 500, и счет выровняется. Но что делать с тем что на 3 позиции смещены названия
К сообщению приложен файл: example_4.xlsx (140.5 Kb)
 
Ответить
СообщениеHugo, Дописал формулу, спасибо,

подскажите а как отвязаться от номеров в строке 1. Поясню, у меня формула криво работает, потому что потом образуется ячейка Б498 и тд, и дальше счет идет Б501, а должен идти с Б1 и опять до 500. Можно конечно с каждой вычитать 500, и счет выровняется. Но что делать с тем что на 3 позиции смещены названия

Автор - Gopronotmore
Дата добавления - 08.07.2024 в 09:11
Nic70y Дата: Понедельник, 08.07.2024, 09:26 | Сообщение № 18
Группа: Друзья
Ранг: Экселист
Сообщений: 8937
Репутация: 2337 ±
Замечаний: 0% ±

Excel 2010
Код
=ЕСЛИ(B3;ЕСЛИ(D3="";СИМВОЛ(ЦЕЛОЕ(СЧИТАТЬПУСТОТЫ(D$2:D2)/500)+192)&ОСТАТ(СЧИТАТЬПУСТОТЫ(D$2:D2);500)+1;D3&"-"&E3);"")

если данных будет очень много*
возможно UDF будет эффективнее
(надо проверять, это так для информации)
К сообщению приложен файл: 415.xlsx (111.6 Kb)


ЮMoney 41001841029809
 
Ответить
Сообщение
Код
=ЕСЛИ(B3;ЕСЛИ(D3="";СИМВОЛ(ЦЕЛОЕ(СЧИТАТЬПУСТОТЫ(D$2:D2)/500)+192)&ОСТАТ(СЧИТАТЬПУСТОТЫ(D$2:D2);500)+1;D3&"-"&E3);"")

если данных будет очень много*
возможно UDF будет эффективнее
(надо проверять, это так для информации)

Автор - Nic70y
Дата добавления - 08.07.2024 в 09:26
Gopronotmore Дата: Четверг, 25.07.2024, 11:08 | Сообщение № 19
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 233
Репутация: 3 ±
Замечаний: 0% ±

Excel 2007
Nic70y, привет,

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

Пример во вложении, получается что если ошибка то он ставит значение А1, а можно ли как-то циклом проверять первую часть значения и если есть совпадение то след. будет идти Предыдущая + 1

Другим словами функция работает правильно и как надо, но в первом значении она если есть ячейка А1-1 ставит след значение А1, а должна ставить А2

upd: А сейчас потестил с другими если вбивать в 1 ячейку например любое другое значение, с доп ячейкой последующий будет с ячейки А1
К сообщению приложен файл: 7582388_1.xlsm (93.5 Kb)


Сообщение отредактировал Gopronotmore - Четверг, 25.07.2024, 11:27
 
Ответить
СообщениеNic70y, привет,

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

Пример во вложении, получается что если ошибка то он ставит значение А1, а можно ли как-то циклом проверять первую часть значения и если есть совпадение то след. будет идти Предыдущая + 1

Другим словами функция работает правильно и как надо, но в первом значении она если есть ячейка А1-1 ставит след значение А1, а должна ставить А2

upd: А сейчас потестил с другими если вбивать в 1 ячейку например любое другое значение, с доп ячейкой последующий будет с ячейки А1

Автор - Gopronotmore
Дата добавления - 25.07.2024 в 11:08
Nic70y Дата: Четверг, 25.07.2024, 13:29 | Сообщение № 20
Группа: Друзья
Ранг: Экселист
Сообщений: 8937
Репутация: 2337 ±
Замечаний: 0% ±

Excel 2010
Gopronotmore, если Вы пищите латиницей, то в формуле
Код
=ЕСЛИ(B3;ЕСЛИОШИБКА(u_4(C$2:C2;D3;E3);"А1");"")
A1 нужно написать латиницей
код обновил*
К сообщению приложен файл: 915.xlsm (72.7 Kb)


ЮMoney 41001841029809
 
Ответить
СообщениеGopronotmore, если Вы пищите латиницей, то в формуле
Код
=ЕСЛИ(B3;ЕСЛИОШИБКА(u_4(C$2:C2;D3;E3);"А1");"")
A1 нужно написать латиницей
код обновил*

Автор - Nic70y
Дата добавления - 25.07.2024 в 13:29
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!