Страницы: 1
RSS
Из первых двух столбцов отобрать уникальные пары
 
Добрый вечер.
Скрытый текст
UPD:
Какой синтаксис будет у этой формулы:
=ЕСЛИОШИБКА(ИНДЕКС([Наименование Изделия];АГРЕГАТ(15;6;(СТРОКА([Наименование Изделия])-СТРОКА($B$2)+1)/(ПОИСКПОЗ([Наименование Изделия];[Наименование Изделия];0)=СТРОКА([Наименование Изделия])-СТРОКА($B$2)+1);ЧСТРОК($B$2:$B2)));"")
Если я хочу чтобы она отбирала уникальные значения не из одного массива, а уникальные пары из двух массивов?
Второй массив [Наименование Элемента]
Изменено: Юрий - 22.11.2020 14:48:17
 
Цитата
vikttur написал:
Ознакомьтесь с правилами форума. Предложите название темы. Заменят модераторы
Собственно я максимально описал проблему, подобного не нашёл. Не открыв пример описать что сделать сложно. Пример наглядно, лишнее удалено. Так что не понял что не так с правилами не бьётся.
 
Юрий,   применительно  к Еxcel, почти все задачи связаны с как посчитать и ли как выбрать. Вы же сами
Цитата
Юрий написал:
чтобы отобрались уникальные сочетания из первого и второго массива.
вот задача а не в том что вам нужно помощь. Или ответ на ваш вопрос будет примерно таким
ввести в ячейке = и далее написать последовательность функция и аргументов. которые дадут интересующий вас результат. В конце необходимо нажать Enter  или Ctrl+Shift+Enter.
По вопросам из тем форума, личку не читаю.
 
Можно решить несколькими способами;
1. Вариант простой - выделить два столбца и нажать удалить дубликаты,
2. Вариант  сделать сводную.
3. Вариант с помощью PQ удалить дубликаты
4. Вариант формулы, но здесь можно с помощью создания доп столбца сцепки первых двух столбцов.
Выберите любой из вариантов.
Изменено: DemonAMT - 21.11.2020 16:26:32
 
Спасибо за ответ. Меня интересовал именно автоматический вариант без вспомогательных костылей.
В целом ваш вариант интересен, есть только вопрос: а можно ли вспомогательный столбец(N) интегрировать в формулу? И можно ли сделать чтобы они как остальные столбцы G, H и I выводились без пробелов.
Изменено: Юрий - 21.11.2020 19:05:01
 
Код
=ИНДЕКС(B$2:B$50;АГРЕГАТ(15;6;СТРОКА($A$1:$A$49)/ЕНД(ПОИСКПОЗ($B$2:$B$50&$C$2:$C$50;$E$1:$E1&$F$1:$F1;0));1))
 
Михаил Л, у меня не работает. Перефразирую.
Какой синтаксис будет у этой формулы:
=ЕСЛИОШИБКА(ИНДЕКС([Наименование Изделия];АГРЕГАТ(15;6;(СТРОКА([Наименование Изделия])-СТРОКА($B$2)+1)/(ПОИСКПОЗ([Наименование Изделия];[Наименование Изделия];0)=СТРОКА([Наименование Изделия])-СТРОКА($B$2)+1);ЧСТРОК($B$2:$B2)));"")
Если я хочу чтобы она отбирала уникальные значения не из одного массива, а уникальные пары из двух массивов?
Второй массив [Наименование Элемента]
UPD: в целом сама формула у меня заработала, теперь бы понять как избавиться от #число в первой строчке и нулей в конечных.
 
можно использовать формулу
Код
=УНИК(ИЗД[[#Все];[Наименование Изделия]:[Наименование Элемента]])

но так, чтобы данные, которые получаются, были вне таблицы
Изменено: Anton555 - 22.11.2020 14:52:21
 
Похоже у вас последний офис... У меня выскакивает префикс.
 
Цитата
Юрий написал:
#число
Таблицу на строку ниже спустить и в E1 и F1 заменить единицу на двойку
 
Ещё не упомянули вариант - массивная UDF.
Правда не работает в умных, поэтому вбил чуть ниже.
 
Цитата
Hugo написал:
Ещё не упомянули вариант - массивная UDF.Правда не работает в умных, поэтому вбил чуть ниже.
В том то и проблема, что мне нужно в умных, так как таблица вместе с номенклатурой постоянно растёт и мне надо будет иначе её постоянно каждый день корректировать. А заранее забивать на много строк ниже это тоже такой себе вариант.
Поэтому как мне видится, самый оптимальный вариант это добавить второй массив в эту формулу, но у меня пока что не получается...

=ЕСЛИОШИБКА(ИНДЕКС([Наименование Изделия];АГРЕГАТ(15;6;(СТРОКА([Наименование Изделия])-СТРОКА($B$2)+1)/(ПОИСКПОЗ([Наименование Изделия];[Наименование Изделия];0)=СТРОКА([Наименование Изделия])-СТРОКА($B$2)+1);ЧСТРОК($B$2:$B2)));"")

Эта формула работает автоматически, в умных таблицах, не требует постоянной коррекции границ массива и т.д.
 
И ещё формула =ИНДЕКС(B$3:B$3725;АГРЕГАТ(15;6;СТРОКА($A$1:$A$3724)/ЕНД(ПОИСКПОЗ($B$3:$B$3725&$C$3:$C$3725;$E$2:$E2&$F$2:$F2;0));1))
ЖУТКО тормозит...
 
Цитата
Юрий написал:
И ещё формула <...> ЖУТКО тормозит...
Именно по этой причине Вам и предлагали альтернативные варианты на базе сводных таблиц, UDF или PQ...
 
Цитата
Юрий написал:
забивать на много строк ниже
- ну я бы забивал где-то рядом, или на другом листе. А если количество выводимых вдруг не помещается - можно в коде прописать чтоб например в таком случае в первых строках так и писало - РАСШИРЬТЕ ДИАПАЗОН!!!
 
Цитата
IKor написал:
Именно по этой причине Вам и предлагали альтернативные варианты на базе сводных таблиц, UDF или PQ...
Не все альтернативные варианты мне сейчас доступны.
Установка на сервере каких либо надстроек вроде PQ мне недоступна, как и новый эксель. А VB я не использовал уже около 15 лет... Так что забыл настолько, ка будто не учил.
Я если честно сейчас не смог даже расширить зону работы функции VB... Просто добавил в колонки ещё данных и она перестала работать...

В общем-то использую формулы только потому что их я худо-бедно понимаю и могу корректировать. Брать чьи-то примеры и адаптировать.
Более того я уверен, что в целом виде мою полную таблицу уже давно надо переносить в ACCESS хотя бы, но опять же не хватает знаний для построения базы данных.

А по сути у меня задача сейчас сделать не поиск уникальных пар значений, а в листе Движение сделать так, чтобы можно было выбирать из выпадающего списка, в идеале с подстановкой по введённым знакам. (как в 1-С) А в соседних колонках в зависимости от введённых значений выпадал ограниченный список из подходящих элементов и состояний.
Уверен, что такое уже реализовывали, в том числе с помощью VB, но никаких примеров внятных найти, даже платных, мне не удалось.
Страницы: 1
Наверх