Перейти к содержанию

Автоматическая нумерация


Рекомендуемые сообщения

Можно ли как то сделать автоматическую нумерацию видимых строк ? Допустим таблица имеет 150 пунктов 100 из них скрытых и надо оставшиеся 50 пронумеровать автоматически(1,2,3.. 50) . Может есть какой то код?

 

P.s один пункт может состоять из 5ти объединенных строк , функция row в этом отрабатывает неверно (

 

 

Т.е пункт 1 это одна объединенная  строка

 Пункт 2 это три объединенные строки

Пункт 3 это 6 объединенных строк

Изменено пользователем aerohost
Ссылка на сообщение
Поделиться на другие сайты

Пример бы посмотреть. Не очень понятно  что именно вы хотите.

В 31.10.2020 в 12:45, aerohost сказал:

Допустим таблица имеет 150 пунктов 100 из них скрытых и надо оставшиеся 50 пронумеровать автоматически

Таблица может иметь скрытые строки если нужно,

Пример:

 

но нумеровать их смысла нет. Так что видимо вы говорите о отчёте? 

В 31.10.2020 в 12:45, aerohost сказал:

P.s один пункт может состоять из 5ти объединённых строк

Это пункт "Объединённых ячеек"  ?image.png.00eac6dda71858fa99dd86f079776c49.png

 

 

 

Или (я надеюсь на это)  Это сгруппированные строки к которым нужно проставить позиции?

Цитата

Таблица, которая: • собирает данные с атрибутов блока • Производит вычисления по объектам «сгруппированным» по имени блока • Передаёт вычисленную позицию (сортировка по алфавиту, в данном случае) в атрибут блока «Позиция» и, в зависимости от условия в ячейке отчёта I4, туда же пишется количество Как бонус, имеется вторая таблица, которая: • Объединяет одинаковые блоки o Сортирует по координате Y (по убыванию) o Потом сортирует по координате Х (по возрастанию) • Пишет, для каждого блока, порядковый номер по заданным условиям, в атрибут «Номер»

Тело файла лежит по ссылке под роликом на YouTube

 

 

 

 

 

Двойная нумерация объектов.zip

Ссылка на сообщение
Поделиться на другие сайты

1570144361_.thumb.png.c2fbda42778eb0103be801731aaca4b0.png

8 часов назад, MCAD сказал:

Пример бы посмотреть. Не очень понятно  что именно вы хотите.

Таблица может иметь скрытые строки если нужно,

Пример:

1570144361_.thumb.png.c2fbda42778eb0103be801731aaca4b0.png

но нумеровать их смысла нет. Так что видимо вы говорите о отчёте? 

Это пункт "Объединённых ячеек"  ?image.png.00eac6dda71858fa99dd86f079776c49.png

 

 

 

Или (я надеюсь на это)  Это сгруппированные строки к которым нужно проставить позиции?

Тело файла лежит по ссылке под роликом на YouTube

 

 

 

 

Двойная нумерация объектов.zip 193 \u043a\u0411 · 1 загрузка

 

Без имени.png2.png3.png

 

Row работает чуть не правильно в моей ситуации 

Изменено пользователем aerohost
Ссылка на сообщение
Поделиться на другие сайты
29 минут назад, MCAD сказал:

 Если честно, то я не понял какой результат вы ждёте? 

Попробуйте такое объединение.

image.png.7672cbf1059c60d66f64dffb783a5d4f.png

Без имени2.dwg 332 \u043a\u0411 · 1 загрузка

Скройте строки 1,4,9 с помощью ПКМ-->Скрыть строчки  .

 

в столбце А у вас получится 2 , 4 , 6 , а мне надо что бы получилось 1 2 3 

 

Как бы получается надо что бы =off(-1;0)+1 работала только на видимые строчки в таблице, а не на все (которые скрыты) 

 

 

Посмотрите повнимательнее мои предыдущие скрины, там есть скрытые строчки 

Изменено пользователем aerohost
Ссылка на сообщение
Поделиться на другие сайты
16 минут назад, aerohost сказал:

Посмотрите повнимательнее мои предыдущие скрины, там есть скрытые строчки 

Я не представляю как в А12 получилось 1.

 image.png.bc3a1006193329cbe92e5073d190194e.png

 

Видимо вы владеете какими-то  тайными знаниями

3.png

Ссылка на сообщение
Поделиться на другие сайты
В 31.10.2020 в 23:34, aerohost сказал:

Скройте строки 1,4,9 с помощью ПКМ-->Скрыть строчки  .

Как так сделать (через ПКМ) реакцию на обработку строки я не знаю. 

Возможно, как вариант, такой способ рассмотреть

 

Первая строка в "Под диапазоне" не должна быть скрытой

Непонятная нумерация.dwg

Ссылка на сообщение
Поделиться на другие сайты
49 минут назад, MCAD сказал:

Как так сделать (через ПКМ) реакцию на обработку строки я не знаю. 

Возможно, как вариант, такой способ рассмотреть

Непонятная нумерация.dwg 299 \u043a\u0411 · 0 загрузок

я так то почти придумал логику но чет не могу доконца доработать, может будут мысли ?

 

 

Нумерация=Если предыдующая строчки имеет высоту равную нулю, то надо найти  вышестоящие не равную нулю и добавить к ней +1 иначе  +1 от выше стоящей 

 

Не могу это реализовать "то надо найти  вышестоящие не равную нулю и добавить к ней +1 иначе"

 

Или делать много iff с проверкой на +1 строку, сначала выщестоящая на одну позицию вверх, потом выщестоящая на две позиции вверх выщестоящая на три позиции вверх...... и так я думаю до +10 хватит...

Изменено пользователем aerohost
Ссылка на сообщение
Поделиться на другие сайты

Чем не устроил вариант, который выше предложил? 

29 минут назад, aerohost сказал:

"то надо найти  вышестоящие не равную нулю и добавить к ней +1 иначе"

Надо найти ==0 иначе  на "Объединении" споткнётесь 

image.png.0e6083fc50162c0917938b8f366e59b2.png

Непонятная нумерация.dwg

Ссылка на сообщение
Поделиться на другие сайты
31 минуту назад, MCAD сказал:

Чем не устроил вариант, который выше предложил? 

Надо найти ==0 иначе  на "Объединении" споткнётесь 

image.png.0e6083fc50162c0917938b8f366e59b2.png

Непонятная нумерация.dwg 303 \u043a\u0411 · 0 загрузок

Моя логика работает, только надо много if, есть мыски как заменить ? image.thumb.png.53ec3593515bb2aa602c9d8d34af61e1.png

=iff(off(-1;13)==0;iff(off(-2;13)==0;iff(off(-3;13)==0;iff(off(-4;13)==0;off(-1;0)+1;off(-1;0));off(-1;0));off(-1;0));off(-1;0)+1)

Изменено пользователем aerohost
Ссылка на сообщение
Поделиться на другие сайты

Я так и не понял, чем не устроил пример выше? 

Вам и так и так придётся "скрывать строки" не проще это делать по какому-то признаку? 

Например "НЕ пустая ячейка"

1 час назад, aerohost сказал:

Нумерация=Если предыдующая строчки имеет высоту равную нулю, то надо найти  вышестоящие не равную нулю и добавить к ней +1 иначе  +1 от выше стоящей 

Ну проверить так можно

=height  вернёт высоту строки. Если строка скрыта,  то будет "0"

 

Непонятная нумерация.dwg

Ссылка на сообщение
Поделиться на другие сайты
  • 3 недели спустя...

Вопрос - вы объединяете или группируете?
Если объединяете, то в чём проблема сделать отдельный столбец, в котором прописать следующу формулу:
 

=select(
off(0;-2)==off(-1;-2); off(-1;0);
off(0;-2)!=off(-1;-2); max(0;off(-1;0))+1;
True;1)

где off(0;-2) - ссылается на значение в столбце по которому объединяете в данной строке)
В итоге в данном столбце получатся нужные вам значения)


Если группируете, то создайте дополнительную таблицу, в которой будете объединять)

 

Или у вас вообще не отчёт по выборке объектов?)
Хотя даже если не отчёт, то способ должен сработать)

Ссылка на сообщение
Поделиться на другие сайты
3 часа назад, dromandon сказал:

Вопрос - вы объединяете или группируете?
Если объединяете, то в чём проблема сделать отдельный столбец, в котором прописать следующу формулу:
 

=select( off(0;-2)==off(-1;-2); off(-1;0); off(0;-2)!=off(-1;-2); max(0;off(-1;0))+1; True;1)



=select(
off(0;-2)==off(-1;-2); off(-1;0);
off(0;-2)!=off(-1;-2); max(0;off(-1;0))+1;
True;1)

где off(0;-2) - ссылается на значение в столбце по которому объединяете в данной строке)
В итоге в данном столбце получатся нужные вам значения)


Если группируете, то создайте дополнительную таблицу, в которой будете объединять)

 

Или у вас вообще не отчёт по выборке объектов?)
Хотя даже если не отчёт, то способ должен сработать)

объединяю

Можно файл с примерчиком ? что то сложновато для восприятия (((

Изменено пользователем aerohost
Ссылка на сообщение
Поделиться на другие сайты
7 минут назад, aerohost сказал:

Можно файл с примерчиком ? что то сложновато для восприятия (((

От вас бы хоть один вопрос с файлом увидеть 😀

Ссылка на сообщение
Поделиться на другие сайты
4 минуты назад, MCAD сказал:

От вас бы хоть один вопрос с файлом увидеть 😀

Убедил) 

Без имени1.dwg

Ссылка на сообщение
Поделиться на другие сайты
24 минуты назад, aerohost сказал:

А можно для меня сохранить в весрии 2013 года? :D

Ссылка на сообщение
Поделиться на другие сайты
5 минут назад, dromandon сказал:

А можно для меня сохранить в весрии 2013 года? :D

;)

 

Суть в том, что таблица на все случаи жизни, но не все строки всегда используются. Надо что бы столбец А сам правильно нумеровался, при скрытых строчках 

Без имени1.dwg

Изменено пользователем aerohost
Ссылка на сообщение
Поделиться на другие сайты

 

У меня к сожалению не последняя версия продукта, поэтому формулы в таблицах не поддерживаются ваши, которые скрывают строки)
Но сути дела не должно поменять
Записал формулу в первую ячейку, суть её в следующем:

1. Проверяется не является строка самой первой (т.е. есть ли над ней строки). Если строка является первой, и её высота не равна нулю, то дать ей значение 1, если равно нулю, то 0.
2. Если высота строки равна 0, то и значение в ячейчке будет равно значению из ячейки вышестоящей

3. Если высотастроки не равна нули, то значение будет равно максимальному значение вышестоящих ячеек +1

 

Остался косяк только, если скрыть верхнюю строку объединёных ячеек - тут надо продумать алгоритм просто (думаю он есть) и добавить третьей строкой в формулу. Отразил на видео этот косяк)
PS количество строк в ячейке определяется формулой count(), надо от неё думаю плясать, в подборе алгоритма

 

Спойлер

 

Без имени1 (1).dwg

Ссылка на сообщение
Поделиться на другие сайты
13 минут назад, dromandon сказал:

 

У меня к сожалению не последняя версия продукта, поэтому формулы в таблицах не поддерживаются ваши, которые скрывают строки)
Но сути дела не должно поменять
Записал формулу в первую ячейку, суть её в следующем:

1. Проверяется не является строка самой первой (т.е. есть ли над ней строки). Если строка является первой, и её высота не равна нулю, то дать ей значение 1, если равно нулю, то 0.
2. Если высота строки равна 0, то и значение в ячейчке будет равно значению из ячейки вышестоящей

3. Если высотастроки не равна нули, то значение будет равно максимальному значение вышестоящих ячеек +1

 

Остался косяк только, если скрыть верхнюю строку объединёных ячеек - тут надо продумать алгоритм просто (думаю он есть) и добавить третьей строкой в формулу. Отразил на видео этот косяк)
PS количество строк в ячейке определяется формулой count(), надо от неё думаю плясать, в подборе алгоритма

 

  Видео (Показать контент)

 

Без имени1 (1).dwg 354 \u043a\u0411 · 0 загрузок

Спасибо, попробую  !

добавлено через 9 минут

UPD. Ну меня все устраивает, работает как мне и хотелось ! Спасибо !

Изменено пользователем aerohost
Ссылка на сообщение
Поделиться на другие сайты
17 часов назад, dromandon сказал:

2. Если высота строки равна 0, то и значение в ячейчке будет равно значению из ячейки вышестоящей

image.png.ecf7fbd0ceae451a6852361be37e2b2a.png

Вот уж действительно :-)

"Майский жук не знал, что не умеет лететь и поэтому летал"

!!!

Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
  • Расскажите друзьям

    Нравится Официальный форум компании Нанософт? Расскажите друзьям!
×
×
  • Создать...