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

Вход

Регистрация

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

 

= Мир MS Excel/Записи участника (krosav4ig) - Мир MS Excel

Результаты поиска
krosav4ig Дата: Пятница, 20.03.2015, 16:45 | Сообщение № 641 | Тема: Объединить разные строки
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
..


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460

Сообщение отредактировал krosav4ig - Пятница, 20.03.2015, 16:56
 
Ответить
Сообщение..

Автор - krosav4ig
Дата добавления - 20.03.2015 в 16:45
krosav4ig Дата: Пятница, 20.03.2015, 17:18 | Сообщение № 642 | Тема: Объединить разные строки
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
расскажите, как сделали?)
вот так
расскажите, как сделали?)
вот так :) (массивная формула)
Код
=ЕСЛИ(И(A2<>"";ЕНД(ПОИСКПОЗ(СТРОКА();ЕСЛИ(($A$1:$A$10="")*($A$2:$A$11<>"")+(СТРОКА($A$2:$A$11)=2);СТРОКА($A$2:$A$11));)));ИНДЕКС(A:A;ПРОСМОТР(СТРОКА();ЕСЛИ(($A$1:$A$10="")*($A$2:$A$11<>"")+(СТРОКА($A$2:$A$11)=2);СТРОКА($A$2:$A$11))))&A2;"")
К сообщению приложен файл: 6824374.xlsx (10.2 Kb)


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
Сообщение
расскажите, как сделали?)
вот так
расскажите, как сделали?)
вот так :) (массивная формула)
Код
=ЕСЛИ(И(A2<>"";ЕНД(ПОИСКПОЗ(СТРОКА();ЕСЛИ(($A$1:$A$10="")*($A$2:$A$11<>"")+(СТРОКА($A$2:$A$11)=2);СТРОКА($A$2:$A$11));)));ИНДЕКС(A:A;ПРОСМОТР(СТРОКА();ЕСЛИ(($A$1:$A$10="")*($A$2:$A$11<>"")+(СТРОКА($A$2:$A$11)=2);СТРОКА($A$2:$A$11))))&A2;"")

Автор - krosav4ig
Дата добавления - 20.03.2015 в 17:18
krosav4ig Дата: Пятница, 20.03.2015, 21:47 | Сообщение № 643 | Тема: Печать файлов Word
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
еще вариант
[vba]
Код
Sub PrintDoc()
     CreateObject("Shell.Application").Namespace(0). _
         ParseName(ThisWorkbook.Path & "\otdr.doc").InvokeVerbEx "Print"
End Sub
[/vba]


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
Сообщениееще вариант
[vba]
Код
Sub PrintDoc()
     CreateObject("Shell.Application").Namespace(0). _
         ParseName(ThisWorkbook.Path & "\otdr.doc").InvokeVerbEx "Print"
End Sub
[/vba]

Автор - krosav4ig
Дата добавления - 20.03.2015 в 21:47
krosav4ig Дата: Воскресенье, 22.03.2015, 00:00 | Сообщение № 644 | Тема: Закраска ячеек, которые содержат нуль и не равны пусто
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
еще вариант формулы для УФ
Код
=A1&""="0"


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
Сообщениееще вариант формулы для УФ
Код
=A1&""="0"

Автор - krosav4ig
Дата добавления - 22.03.2015 в 00:00
krosav4ig Дата: Воскресенье, 22.03.2015, 02:53 | Сообщение № 645 | Тема: Закраска ячеек, которые содержат нуль и не равны пусто
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
KSV, пасяба
подозреваю, что это из-за того, что содержимое ячейки считывается только один раз

тут это значительно влияет на результат
[offtop]добавил еще 1 процедуру

на выходе получил

[p.s.]intel core 2 duo E6550, Win 6.1 build 7600 x32, Office 2013 Pro+ x32[/offtop]


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460

Сообщение отредактировал krosav4ig - Воскресенье, 22.03.2015, 03:12
 
Ответить
СообщениеKSV, пасяба
подозреваю, что это из-за того, что содержимое ячейки считывается только один раз

тут это значительно влияет на результат
[offtop]добавил еще 1 процедуру

на выходе получил

[p.s.]intel core 2 duo E6550, Win 6.1 build 7600 x32, Office 2013 Pro+ x32[/offtop]

Автор - krosav4ig
Дата добавления - 22.03.2015 в 02:53
krosav4ig Дата: Воскресенье, 22.03.2015, 03:02 | Сообщение № 646 | Тема: Закраска ячеек, которые содержат нуль и не равны пусто
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
[offtop]для чистоты эксперимента считываю значение из A1 в переменную
на выходе получается не все так однозначно
[/offtop]
К сообщению приложен файл: test.xls (50.5 Kb)


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460

Сообщение отредактировал krosav4ig - Воскресенье, 22.03.2015, 03:11
 
Ответить
Сообщение[offtop]для чистоты эксперимента считываю значение из A1 в переменную
на выходе получается не все так однозначно
[/offtop]

Автор - krosav4ig
Дата добавления - 22.03.2015 в 03:02
krosav4ig Дата: Воскресенье, 22.03.2015, 08:58 | Сообщение № 647 | Тема: Очистка ячеек таблицы Word из vba кода Excel
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
aequit, держите еще один вариант, без перебора ячеек
К сообщению приложен файл: 6398604.xlsm (22.4 Kb)


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460

Сообщение отредактировал krosav4ig - Воскресенье, 22.03.2015, 09:11
 
Ответить
Сообщениеaequit, держите еще один вариант, без перебора ячеек

Автор - krosav4ig
Дата добавления - 22.03.2015 в 08:58
krosav4ig Дата: Воскресенье, 22.03.2015, 10:09 | Сообщение № 648 | Тема: Сводная таблица с 3 листов. Между нужн столбцами есть лишние
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
добавлять нужно Таблица1[#Все], Таблица14[#Все], и т.д. без [#Все] таблицы добавляются в сводную без заголовков, а заголовками принимается первая строка данных
К сообщению приложен файл: 7320358.xlsx (37.6 Kb)


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
Сообщениедобавлять нужно Таблица1[#Все], Таблица14[#Все], и т.д. без [#Все] таблицы добавляются в сводную без заголовков, а заголовками принимается первая строка данных

Автор - krosav4ig
Дата добавления - 22.03.2015 в 10:09
krosav4ig Дата: Понедельник, 23.03.2015, 11:46 | Сообщение № 649 | Тема: Присвоить имя формуле, чтобы она работала во всех вкладках
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
или, как вариант, переписать формулу так
Код
=ИНДЕКС(Исходн!$C:$C;ПОИСКПОЗ(ДВССЫЛ("r1c"&СТОЛБЕЦ();)&ДВССЫЛ("r"&СТРОКА()&"c1";);Исходн!$A:$A&Исходн!$B:$B;0);1)


в принципе, тут можно обойтись и без массива
Код
=ВПР(ДВССЫЛ("r"&СТРОКА()&"c1";);ИНДЕКС(Исходн!$B:$B;ПОИСКПОЗ(ДВССЫЛ("r1c"&СТОЛБЕЦ(););Исходн!$A:$A;)):ИНДЕКС(Исходн!$C:$C;ПОИСКПОЗ(ДВССЫЛ("r1c"&СТОЛБЕЦ(););Исходн!$A:$A));2;)


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460

Сообщение отредактировал krosav4ig - Понедельник, 23.03.2015, 12:18
 
Ответить
Сообщениеили, как вариант, переписать формулу так
Код
=ИНДЕКС(Исходн!$C:$C;ПОИСКПОЗ(ДВССЫЛ("r1c"&СТОЛБЕЦ();)&ДВССЫЛ("r"&СТРОКА()&"c1";);Исходн!$A:$A&Исходн!$B:$B;0);1)


в принципе, тут можно обойтись и без массива
Код
=ВПР(ДВССЫЛ("r"&СТРОКА()&"c1";);ИНДЕКС(Исходн!$B:$B;ПОИСКПОЗ(ДВССЫЛ("r1c"&СТОЛБЕЦ(););Исходн!$A:$A;)):ИНДЕКС(Исходн!$C:$C;ПОИСКПОЗ(ДВССЫЛ("r1c"&СТОЛБЕЦ(););Исходн!$A:$A));2;)

Автор - krosav4ig
Дата добавления - 23.03.2015 в 11:46
krosav4ig Дата: Понедельник, 23.03.2015, 21:15 | Сообщение № 650 | Тема: Как сделать выборку по тексту в одной ячейке и перенести?
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
у меня получилась куча формул в макросе :D
выделяете одну или несколько ячеек с данными из столбца B на листе Datapool , жмете кнопку и смотрите результат на листе New format
код в модуле листа Datapool
К сообщению приложен файл: 7647342.xls (84.0 Kb)


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
Сообщениеу меня получилась куча формул в макросе :D
выделяете одну или несколько ячеек с данными из столбца B на листе Datapool , жмете кнопку и смотрите результат на листе New format
код в модуле листа Datapool

Автор - krosav4ig
Дата добавления - 23.03.2015 в 21:15
krosav4ig Дата: Понедельник, 23.03.2015, 21:30 | Сообщение № 651 | Тема: Закраска ячеек, которые содержат нуль и не равны пусто
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
[offtop]KSV, ну про неявное приведение типа мне тоже понятно, я имел ввиду разницу времени выполнения между логическим И и произведением при числовых(!=0) и текстовых значениях A1[/offtop]


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460

Сообщение отредактировал krosav4ig - Вторник, 24.03.2015, 16:37
 
Ответить
Сообщение[offtop]KSV, ну про неявное приведение типа мне тоже понятно, я имел ввиду разницу времени выполнения между логическим И и произведением при числовых(!=0) и текстовых значениях A1[/offtop]

Автор - krosav4ig
Дата добавления - 23.03.2015 в 21:30
krosav4ig Дата: Вторник, 24.03.2015, 12:05 | Сообщение № 652 | Тема: Нормировка от 0 до 1 и от 0 до -1
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
Лучше в имена закинуть сразу (_norm):
Код
=Лист1!$B8:СМЕЩ(Лист1!$B8;-Лист1!$L$8-1;)

ИМХО лучше
Код
=Лист1!$B8:ИНДЕКС(Лист1!$B:$B;СТРОКА()-Лист1!$L$8-1;)


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
Сообщение
Лучше в имена закинуть сразу (_norm):
Код
=Лист1!$B8:СМЕЩ(Лист1!$B8;-Лист1!$L$8-1;)

ИМХО лучше
Код
=Лист1!$B8:ИНДЕКС(Лист1!$B:$B;СТРОКА()-Лист1!$L$8-1;)

Автор - krosav4ig
Дата добавления - 24.03.2015 в 12:05
krosav4ig Дата: Вторник, 24.03.2015, 13:24 | Сообщение № 653 | Тема: Подсчет уникальных значений без ограничения диапазона
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
если в 1 столбце будут только числа, записанные текстом, то можно еще так
формула массива
Код
=СЧЁТ(1/ЧАСТОТА(-A3:A20;-A3:A20)/(B3:B20="И1"))

upd.
обнаружился косяк вот формула
Код
=СЧЁТ(1/ЕСЛИ(B3:B20="И1";ЧАСТОТА(A3:A20*(B3:B20="И1");A3:A20*(B3:B20="И1"))))


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460

Сообщение отредактировал krosav4ig - Вторник, 24.03.2015, 15:49
 
Ответить
Сообщениеесли в 1 столбце будут только числа, записанные текстом, то можно еще так
формула массива
Код
=СЧЁТ(1/ЧАСТОТА(-A3:A20;-A3:A20)/(B3:B20="И1"))

upd.
обнаружился косяк вот формула
Код
=СЧЁТ(1/ЕСЛИ(B3:B20="И1";ЧАСТОТА(A3:A20*(B3:B20="И1");A3:A20*(B3:B20="И1"))))

Автор - krosav4ig
Дата добавления - 24.03.2015 в 13:24
krosav4ig Дата: Среда, 25.03.2015, 11:27 | Сообщение № 654 | Тема: СЦЕПИТЬ 2 значения ВПР (с одинаковым искомым)
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
вот, держите формула + UDF
Код
=JoinArr(ТРАНСП(ПРОСМОТР(НАИМЕНЬШИЙ(ЕСЛИ('Вопрос 2'!$B$6:$B$29=D6;СТРОКА('Вопрос 2'!$B$6:$B$29));СТРОКА($A$1:ИНДЕКС($A:$A;СЧЁТЕСЛИ('Вопрос 2'!$B$6:$B$29;D6))));СТРОКА('Вопрос 2'!$B$6:$B$29);'Вопрос 2'!$D$6:$D$29));",")


по поводу 2 вопроса: читайте правила форума rules , создавайте отдельную тему


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460

Сообщение отредактировал krosav4ig - Среда, 25.03.2015, 12:46
 
Ответить
Сообщениевот, держите формула + UDF
Код
=JoinArr(ТРАНСП(ПРОСМОТР(НАИМЕНЬШИЙ(ЕСЛИ('Вопрос 2'!$B$6:$B$29=D6;СТРОКА('Вопрос 2'!$B$6:$B$29));СТРОКА($A$1:ИНДЕКС($A:$A;СЧЁТЕСЛИ('Вопрос 2'!$B$6:$B$29;D6))));СТРОКА('Вопрос 2'!$B$6:$B$29);'Вопрос 2'!$D$6:$D$29));",")


по поводу 2 вопроса: читайте правила форума rules , создавайте отдельную тему

Автор - krosav4ig
Дата добавления - 25.03.2015 в 11:27
krosav4ig Дата: Среда, 25.03.2015, 12:47 | Сообщение № 655 | Тема: СЦЕПИТЬ 2 значения ВПР (с одинаковым искомым)
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
добавил решение в предыдущий пост :)


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
Сообщениедобавил решение в предыдущий пост :)

Автор - krosav4ig
Дата добавления - 25.03.2015 в 12:47
krosav4ig Дата: Среда, 25.03.2015, 13:12 | Сообщение № 656 | Тема: подтянуть ВПРом несколько значений
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
если добавить доп.столбец, то можно сводной и по горизонтали расположить
К сообщению приложен файл: qwerty-1-.xlsx (14.2 Kb)


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
Сообщениеесли добавить доп.столбец, то можно сводной и по горизонтали расположить

Автор - krosav4ig
Дата добавления - 25.03.2015 в 13:12
krosav4ig Дата: Среда, 25.03.2015, 16:08 | Сообщение № 657 | Тема: Сортировка формулами
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
Вчера, когда смотрел эту тему, из-за отсутствия примера подумал, что из строки типа "0, 1, 0, 3, 0, 0" нужно получить "1, 3, 0, 0, 0, 0", даже формулу с UDF-кой придумал, а оказалось, что числа в отдельных ячейках. Ну так не интересно... :(
Но раз формула у мну ужо есть, то держите(сь) :)
формула (массивная)
Код
=JoinArr(ТРАНСП(ЕСЛИОШИБКА(ПРОСМОТР(ПОИСКПОЗ(НАИМЕНЬШИЙ(ЕСЛИ(-ПСТР(A1;ЕСЛИОШИБКА(НАИМЕНЬШИЙ(ЕСЛИ(ПСТР(A1;СТРОКА($A$1:ИНДЕКС($A:$A;ДЛСТР(A1)));1)=",";СТРОКА($A$1:ИНДЕКС($A:$A;ДЛСТР(A1))));СТРОКА($A$1:ИНДЕКС($A:$A;ДЛСТР(A1)-ДЛСТР(ПОДСТАВИТЬ(A1;",";))+1))-1)+2;1);ЕСЛИОШИБКА(НАИМЕНЬШИЙ(ЕСЛИ(ПСТР(A1;СТРОКА($A$1:ИНДЕКС($A:$A;ДЛСТР(A1)));1)=",";СТРОКА($A$1:ИНДЕКС($A:$A;ДЛСТР(A1))));СТРОКА($A$1:ИНДЕКС($A:$A;ДЛСТР(A1)-ДЛСТР(ПОДСТАВИТЬ(A1;",";))+1)));ДЛСТР(A1)+1)-ЕСЛИОШИБКА(НАИМЕНЬШИЙ(ЕСЛИ(ПСТР(A1;СТРОКА($A$1:ИНДЕКС(A:A;ДЛСТР(A1)));1)=",";СТРОКА($A$1:ИНДЕКС($A:$A;ДЛСТР(A1))));СТРОКА($A$1:ИНДЕКС($A:$A;ДЛСТР(A1)-ДЛСТР(ПОДСТАВИТЬ(A1;",";))+1))-1)+2;1));МУМНОЖ(-(-ПСТР(A1;ЕСЛИОШИБКА(НАИМЕНЬШИЙ(ЕСЛИ(ПСТР(A1;СТРОКА($A$1:ИНДЕКС($A:$A;ДЛСТР(A1)));1)=",";СТРОКА($A$1:ИНДЕКС($A:$A;ДЛСТР(A1))));СТРОКА($A$1:ИНДЕКС($A:$A;ДЛСТР(A1)-ДЛСТР(ПОДСТАВИТЬ(A1;",";))+1))-1)+2;1);ЕСЛИОШИБКА(НАИМЕНЬШИЙ(ЕСЛИ(ПСТР(A1;СТРОКА($A$1:ИНДЕКС($A:$A;ДЛСТР(A1)));1)=",";СТРОКА($A$1:ИНДЕКС($A:$A;ДЛСТР(A1))));СТРОКА($A$1:ИНДЕКС($A:$A;ДЛСТР(A1)-ДЛСТР(ПОДСТАВИТЬ(A1;",";))+1)));ДЛСТР(A1)+1)-ЕСЛИОШИБКА(НАИМЕНЬШИЙ(ЕСЛИ(ПСТР(A1;СТРОКА($A$1:ИНДЕКС(A:A;ДЛСТР(A1)));1)=",";СТРОКА($A$1:ИНДЕКС($A:$A;ДЛСТР(A1))));СТРОКА($A$1:ИНДЕКС($A:$A;ДЛСТР(A1)-ДЛСТР(ПОДСТАВИТЬ(A1;",";))+1))-1)+2;1))>=ТРАНСП(-ПСТР(A1;ЕСЛИОШИБКА(НАИМЕНЬШИЙ(ЕСЛИ(ПСТР(A1;СТРОКА($A$1:ИНДЕКС($A:$A;ДЛСТР(A1)));1)=",";СТРОКА($A$1:ИНДЕКС($A:$A;ДЛСТР(A1))));СТРОКА($A$1:ИНДЕКС($A:$A;ДЛСТР(A1)-ДЛСТР(ПОДСТАВИТЬ(A1;",";))+1))-1)+2;1);ЕСЛИОШИБКА(НАИМЕНЬШИЙ(ЕСЛИ(ПСТР(A1;СТРОКА($A$1:ИНДЕКС($A:$A;ДЛСТР(A1)));1)=",";СТРОКА($A$1:ИНДЕКС($A:$A;ДЛСТР(A1))));СТРОКА($A$1:ИНДЕКС($A:$A;ДЛСТР(A1)-ДЛСТР(ПОДСТАВИТЬ(A1;",";))+1)));ДЛСТР(A1)+1)-ЕСЛИОШИБКА(НАИМЕНЬШИЙ(ЕСЛИ(ПСТР(A1;СТРОКА($A$1:ИНДЕКС(A:A;ДЛСТР(A1)));1)=",";СТРОКА($A$1:ИНДЕКС($A:$A;ДЛСТР(A1))));СТРОКА($A$1:ИНДЕКС($A:$A;ДЛСТР(A1)-ДЛСТР(ПОДСТАВИТЬ(A1;",";))+1))-1)+2;1))));СТРОКА($A$1:ИНДЕКС($A:$A;ДЛСТР(A1)-ДЛСТР(ПОДСТАВИТЬ(A1;",";))+1))^0));СТРОКА($A$1:ИНДЕКС($A:$A;ДЛСТР(A1)-ДЛСТР(ПОДСТАВИТЬ(A1;",";))+1)));ЕСЛИ(-ПСТР(A1;ЕСЛИОШИБКА(НАИМЕНЬШИЙ(ЕСЛИ(ПСТР(A1;СТРОКА($A$1:ИНДЕКС($A:$A;ДЛСТР(A1)));1)=",";СТРОКА($A$1:ИНДЕКС($A:$A;ДЛСТР(A1))));СТРОКА($A$1:ИНДЕКС($A:$A;ДЛСТР(A1)-ДЛСТР(ПОДСТАВИТЬ(A1;",";))+1))-1)+2;1);ЕСЛИОШИБКА(НАИМЕНЬШИЙ(ЕСЛИ(ПСТР(A1;СТРОКА($A$1:ИНДЕКС($A:$A;ДЛСТР(A1)));1)=",";СТРОКА($A$1:ИНДЕКС($A:$A;ДЛСТР(A1))));СТРОКА($A$1:ИНДЕКС($A:$A;ДЛСТР(A1)-ДЛСТР(ПОДСТАВИТЬ(A1;",";))+1)));ДЛСТР(A1)+1)-ЕСЛИОШИБКА(НАИМЕНЬШИЙ(ЕСЛИ(ПСТР(A1;СТРОКА($A$1:ИНДЕКС(A:A;ДЛСТР(A1)));1)=",";СТРОКА($A$1:ИНДЕКС($A:$A;ДЛСТР(A1))));СТРОКА($A$1:ИНДЕКС($A:$A;ДЛСТР(A1)-ДЛСТР(ПОДСТАВИТЬ(A1;",";))+1))-1)+2;1));МУМНОЖ(-(-ПСТР(A1;ЕСЛИОШИБКА(НАИМЕНЬШИЙ(ЕСЛИ(ПСТР(A1;СТРОКА($A$1:ИНДЕКС($A:$A;ДЛСТР(A1)));1)=",";СТРОКА($A$1:ИНДЕКС($A:$A;ДЛСТР(A1))));СТРОКА($A$1:ИНДЕКС($A:$A;ДЛСТР(A1)-ДЛСТР(ПОДСТАВИТЬ(A1;",";))+1))-1)+2;1);ЕСЛИОШИБКА(НАИМЕНЬШИЙ(ЕСЛИ(ПСТР(A1;СТРОКА($A$1:ИНДЕКС($A:$A;ДЛСТР(A1)));1)=",";СТРОКА($A$1:ИНДЕКС($A:$A;ДЛСТР(A1))));СТРОКА($A$1:ИНДЕКС($A:$A;ДЛСТР(A1)-ДЛСТР(ПОДСТАВИТЬ(A1;",";))+1)));ДЛСТР(A1)+1)-ЕСЛИОШИБКА(НАИМЕНЬШИЙ(ЕСЛИ(ПСТР(A1;СТРОКА($A$1:ИНДЕКС(A:A;ДЛСТР(A1)));1)=",";СТРОКА($A$1:ИНДЕКС($A:$A;ДЛСТР(A1))));СТРОКА($A$1:ИНДЕКС($A:$A;ДЛСТР(A1)-ДЛСТР(ПОДСТАВИТЬ(A1;",";))+1))-1)+2;1))>=ТРАНСП(-ПСТР(A1;ЕСЛИОШИБКА(НАИМЕНЬШИЙ(ЕСЛИ(ПСТР(A1;СТРОКА($A$1:ИНДЕКС($A:$A;ДЛСТР(A1)));1)=",";СТРОКА($A$1:ИНДЕКС($A:$A;ДЛСТР(A1))));СТРОКА($A$1:ИНДЕКС($A:$A;ДЛСТР(A1)-ДЛСТР(ПОДСТАВИТЬ(A1;",";))+1))-1)+2;1);ЕСЛИОШИБКА(НАИМЕНЬШИЙ(ЕСЛИ(ПСТР(A1;СТРОКА($A$1:ИНДЕКС($A:$A;ДЛСТР(A1)));1)=",";СТРОКА($A$1:ИНДЕКС($A:$A;ДЛСТР(A1))));СТРОКА($A$1:ИНДЕКС($A:$A;ДЛСТР(A1)-ДЛСТР(ПОДСТАВИТЬ(A1;",";))+1)));ДЛСТР(A1)+1)-ЕСЛИОШИБКА(НАИМЕНЬШИЙ(ЕСЛИ(ПСТР(A1;СТРОКА($A$1:ИНДЕКС(A:A;ДЛСТР(A1)));1)=",";СТРОКА($A$1:ИНДЕКС($A:$A;ДЛСТР(A1))));СТРОКА($A$1:ИНДЕКС($A:$A;ДЛСТР(A1)-ДЛСТР(ПОДСТАВИТЬ(A1;",";))+1))-1)+2;1))));СТРОКА($A$1:ИНДЕКС($A:$A;ДЛСТР(A1)-ДЛСТР(ПОДСТАВИТЬ(A1;",";))+1))^0)););СТРОКА($A$1:ИНДЕКС($A:$A;ДЛСТР(A1)-ДЛСТР(ПОДСТАВИТЬ(A1;",";))+1));--ПСТР(A1;ЕСЛИОШИБКА(НАИМЕНЬШИЙ(ЕСЛИ(ПСТР(A1;СТРОКА($A$1:ИНДЕКС($A:$A;ДЛСТР(A1)));1)=",";СТРОКА($A$1:ИНДЕКС($A:$A;ДЛСТР(A1))));СТРОКА($A$1:ИНДЕКС($A:$A;ДЛСТР(A1)-ДЛСТР(ПОДСТАВИТЬ(A1;",";))+1))-1)+2;1);ЕСЛИОШИБКА(НАИМЕНЬШИЙ(ЕСЛИ(ПСТР(A1;СТРОКА($A$1:ИНДЕКС($A:$A;ДЛСТР(A1)));1)=",";СТРОКА($A$1:ИНДЕКС($A:$A;ДЛСТР(A1))));СТРОКА($A$1:ИНДЕКС($A:$A;ДЛСТР(A1)-ДЛСТР(ПОДСТАВИТЬ(A1;",";))+1)));ДЛСТР(A1)+1)-ЕСЛИОШИБКА(НАИМЕНЬШИЙ(ЕСЛИ(ПСТР(A1;СТРОКА($A$1:ИНДЕКС(A:A;ДЛСТР(A1)));1)=",";СТРОКА($A$1:ИНДЕКС($A:$A;ДЛСТР(A1))));СТРОКА($A$1:ИНДЕКС($A:$A;ДЛСТР(A1)-ДЛСТР(ПОДСТАВИТЬ(A1;",";))+1))-1)+2;1)));)))

UDF
[vba]
Код
Function JoinArr$(arr As Variant, Optional delim$ = ", ")
      JoinArr = join(arr, delim)
End Function
[/vba]
К сообщению приложен файл: 5397505.xlsm (12.6 Kb)


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460

Сообщение отредактировал krosav4ig - Среда, 25.03.2015, 16:08
 
Ответить
СообщениеВчера, когда смотрел эту тему, из-за отсутствия примера подумал, что из строки типа "0, 1, 0, 3, 0, 0" нужно получить "1, 3, 0, 0, 0, 0", даже формулу с UDF-кой придумал, а оказалось, что числа в отдельных ячейках. Ну так не интересно... :(
Но раз формула у мну ужо есть, то держите(сь) :)
формула (массивная)
Код
=JoinArr(ТРАНСП(ЕСЛИОШИБКА(ПРОСМОТР(ПОИСКПОЗ(НАИМЕНЬШИЙ(ЕСЛИ(-ПСТР(A1;ЕСЛИОШИБКА(НАИМЕНЬШИЙ(ЕСЛИ(ПСТР(A1;СТРОКА($A$1:ИНДЕКС($A:$A;ДЛСТР(A1)));1)=",";СТРОКА($A$1:ИНДЕКС($A:$A;ДЛСТР(A1))));СТРОКА($A$1:ИНДЕКС($A:$A;ДЛСТР(A1)-ДЛСТР(ПОДСТАВИТЬ(A1;",";))+1))-1)+2;1);ЕСЛИОШИБКА(НАИМЕНЬШИЙ(ЕСЛИ(ПСТР(A1;СТРОКА($A$1:ИНДЕКС($A:$A;ДЛСТР(A1)));1)=",";СТРОКА($A$1:ИНДЕКС($A:$A;ДЛСТР(A1))));СТРОКА($A$1:ИНДЕКС($A:$A;ДЛСТР(A1)-ДЛСТР(ПОДСТАВИТЬ(A1;",";))+1)));ДЛСТР(A1)+1)-ЕСЛИОШИБКА(НАИМЕНЬШИЙ(ЕСЛИ(ПСТР(A1;СТРОКА($A$1:ИНДЕКС(A:A;ДЛСТР(A1)));1)=",";СТРОКА($A$1:ИНДЕКС($A:$A;ДЛСТР(A1))));СТРОКА($A$1:ИНДЕКС($A:$A;ДЛСТР(A1)-ДЛСТР(ПОДСТАВИТЬ(A1;",";))+1))-1)+2;1));МУМНОЖ(-(-ПСТР(A1;ЕСЛИОШИБКА(НАИМЕНЬШИЙ(ЕСЛИ(ПСТР(A1;СТРОКА($A$1:ИНДЕКС($A:$A;ДЛСТР(A1)));1)=",";СТРОКА($A$1:ИНДЕКС($A:$A;ДЛСТР(A1))));СТРОКА($A$1:ИНДЕКС($A:$A;ДЛСТР(A1)-ДЛСТР(ПОДСТАВИТЬ(A1;",";))+1))-1)+2;1);ЕСЛИОШИБКА(НАИМЕНЬШИЙ(ЕСЛИ(ПСТР(A1;СТРОКА($A$1:ИНДЕКС($A:$A;ДЛСТР(A1)));1)=",";СТРОКА($A$1:ИНДЕКС($A:$A;ДЛСТР(A1))));СТРОКА($A$1:ИНДЕКС($A:$A;ДЛСТР(A1)-ДЛСТР(ПОДСТАВИТЬ(A1;",";))+1)));ДЛСТР(A1)+1)-ЕСЛИОШИБКА(НАИМЕНЬШИЙ(ЕСЛИ(ПСТР(A1;СТРОКА($A$1:ИНДЕКС(A:A;ДЛСТР(A1)));1)=",";СТРОКА($A$1:ИНДЕКС($A:$A;ДЛСТР(A1))));СТРОКА($A$1:ИНДЕКС($A:$A;ДЛСТР(A1)-ДЛСТР(ПОДСТАВИТЬ(A1;",";))+1))-1)+2;1))>=ТРАНСП(-ПСТР(A1;ЕСЛИОШИБКА(НАИМЕНЬШИЙ(ЕСЛИ(ПСТР(A1;СТРОКА($A$1:ИНДЕКС($A:$A;ДЛСТР(A1)));1)=",";СТРОКА($A$1:ИНДЕКС($A:$A;ДЛСТР(A1))));СТРОКА($A$1:ИНДЕКС($A:$A;ДЛСТР(A1)-ДЛСТР(ПОДСТАВИТЬ(A1;",";))+1))-1)+2;1);ЕСЛИОШИБКА(НАИМЕНЬШИЙ(ЕСЛИ(ПСТР(A1;СТРОКА($A$1:ИНДЕКС($A:$A;ДЛСТР(A1)));1)=",";СТРОКА($A$1:ИНДЕКС($A:$A;ДЛСТР(A1))));СТРОКА($A$1:ИНДЕКС($A:$A;ДЛСТР(A1)-ДЛСТР(ПОДСТАВИТЬ(A1;",";))+1)));ДЛСТР(A1)+1)-ЕСЛИОШИБКА(НАИМЕНЬШИЙ(ЕСЛИ(ПСТР(A1;СТРОКА($A$1:ИНДЕКС(A:A;ДЛСТР(A1)));1)=",";СТРОКА($A$1:ИНДЕКС($A:$A;ДЛСТР(A1))));СТРОКА($A$1:ИНДЕКС($A:$A;ДЛСТР(A1)-ДЛСТР(ПОДСТАВИТЬ(A1;",";))+1))-1)+2;1))));СТРОКА($A$1:ИНДЕКС($A:$A;ДЛСТР(A1)-ДЛСТР(ПОДСТАВИТЬ(A1;",";))+1))^0));СТРОКА($A$1:ИНДЕКС($A:$A;ДЛСТР(A1)-ДЛСТР(ПОДСТАВИТЬ(A1;",";))+1)));ЕСЛИ(-ПСТР(A1;ЕСЛИОШИБКА(НАИМЕНЬШИЙ(ЕСЛИ(ПСТР(A1;СТРОКА($A$1:ИНДЕКС($A:$A;ДЛСТР(A1)));1)=",";СТРОКА($A$1:ИНДЕКС($A:$A;ДЛСТР(A1))));СТРОКА($A$1:ИНДЕКС($A:$A;ДЛСТР(A1)-ДЛСТР(ПОДСТАВИТЬ(A1;",";))+1))-1)+2;1);ЕСЛИОШИБКА(НАИМЕНЬШИЙ(ЕСЛИ(ПСТР(A1;СТРОКА($A$1:ИНДЕКС($A:$A;ДЛСТР(A1)));1)=",";СТРОКА($A$1:ИНДЕКС($A:$A;ДЛСТР(A1))));СТРОКА($A$1:ИНДЕКС($A:$A;ДЛСТР(A1)-ДЛСТР(ПОДСТАВИТЬ(A1;",";))+1)));ДЛСТР(A1)+1)-ЕСЛИОШИБКА(НАИМЕНЬШИЙ(ЕСЛИ(ПСТР(A1;СТРОКА($A$1:ИНДЕКС(A:A;ДЛСТР(A1)));1)=",";СТРОКА($A$1:ИНДЕКС($A:$A;ДЛСТР(A1))));СТРОКА($A$1:ИНДЕКС($A:$A;ДЛСТР(A1)-ДЛСТР(ПОДСТАВИТЬ(A1;",";))+1))-1)+2;1));МУМНОЖ(-(-ПСТР(A1;ЕСЛИОШИБКА(НАИМЕНЬШИЙ(ЕСЛИ(ПСТР(A1;СТРОКА($A$1:ИНДЕКС($A:$A;ДЛСТР(A1)));1)=",";СТРОКА($A$1:ИНДЕКС($A:$A;ДЛСТР(A1))));СТРОКА($A$1:ИНДЕКС($A:$A;ДЛСТР(A1)-ДЛСТР(ПОДСТАВИТЬ(A1;",";))+1))-1)+2;1);ЕСЛИОШИБКА(НАИМЕНЬШИЙ(ЕСЛИ(ПСТР(A1;СТРОКА($A$1:ИНДЕКС($A:$A;ДЛСТР(A1)));1)=",";СТРОКА($A$1:ИНДЕКС($A:$A;ДЛСТР(A1))));СТРОКА($A$1:ИНДЕКС($A:$A;ДЛСТР(A1)-ДЛСТР(ПОДСТАВИТЬ(A1;",";))+1)));ДЛСТР(A1)+1)-ЕСЛИОШИБКА(НАИМЕНЬШИЙ(ЕСЛИ(ПСТР(A1;СТРОКА($A$1:ИНДЕКС(A:A;ДЛСТР(A1)));1)=",";СТРОКА($A$1:ИНДЕКС($A:$A;ДЛСТР(A1))));СТРОКА($A$1:ИНДЕКС($A:$A;ДЛСТР(A1)-ДЛСТР(ПОДСТАВИТЬ(A1;",";))+1))-1)+2;1))>=ТРАНСП(-ПСТР(A1;ЕСЛИОШИБКА(НАИМЕНЬШИЙ(ЕСЛИ(ПСТР(A1;СТРОКА($A$1:ИНДЕКС($A:$A;ДЛСТР(A1)));1)=",";СТРОКА($A$1:ИНДЕКС($A:$A;ДЛСТР(A1))));СТРОКА($A$1:ИНДЕКС($A:$A;ДЛСТР(A1)-ДЛСТР(ПОДСТАВИТЬ(A1;",";))+1))-1)+2;1);ЕСЛИОШИБКА(НАИМЕНЬШИЙ(ЕСЛИ(ПСТР(A1;СТРОКА($A$1:ИНДЕКС($A:$A;ДЛСТР(A1)));1)=",";СТРОКА($A$1:ИНДЕКС($A:$A;ДЛСТР(A1))));СТРОКА($A$1:ИНДЕКС($A:$A;ДЛСТР(A1)-ДЛСТР(ПОДСТАВИТЬ(A1;",";))+1)));ДЛСТР(A1)+1)-ЕСЛИОШИБКА(НАИМЕНЬШИЙ(ЕСЛИ(ПСТР(A1;СТРОКА($A$1:ИНДЕКС(A:A;ДЛСТР(A1)));1)=",";СТРОКА($A$1:ИНДЕКС($A:$A;ДЛСТР(A1))));СТРОКА($A$1:ИНДЕКС($A:$A;ДЛСТР(A1)-ДЛСТР(ПОДСТАВИТЬ(A1;",";))+1))-1)+2;1))));СТРОКА($A$1:ИНДЕКС($A:$A;ДЛСТР(A1)-ДЛСТР(ПОДСТАВИТЬ(A1;",";))+1))^0)););СТРОКА($A$1:ИНДЕКС($A:$A;ДЛСТР(A1)-ДЛСТР(ПОДСТАВИТЬ(A1;",";))+1));--ПСТР(A1;ЕСЛИОШИБКА(НАИМЕНЬШИЙ(ЕСЛИ(ПСТР(A1;СТРОКА($A$1:ИНДЕКС($A:$A;ДЛСТР(A1)));1)=",";СТРОКА($A$1:ИНДЕКС($A:$A;ДЛСТР(A1))));СТРОКА($A$1:ИНДЕКС($A:$A;ДЛСТР(A1)-ДЛСТР(ПОДСТАВИТЬ(A1;",";))+1))-1)+2;1);ЕСЛИОШИБКА(НАИМЕНЬШИЙ(ЕСЛИ(ПСТР(A1;СТРОКА($A$1:ИНДЕКС($A:$A;ДЛСТР(A1)));1)=",";СТРОКА($A$1:ИНДЕКС($A:$A;ДЛСТР(A1))));СТРОКА($A$1:ИНДЕКС($A:$A;ДЛСТР(A1)-ДЛСТР(ПОДСТАВИТЬ(A1;",";))+1)));ДЛСТР(A1)+1)-ЕСЛИОШИБКА(НАИМЕНЬШИЙ(ЕСЛИ(ПСТР(A1;СТРОКА($A$1:ИНДЕКС(A:A;ДЛСТР(A1)));1)=",";СТРОКА($A$1:ИНДЕКС($A:$A;ДЛСТР(A1))));СТРОКА($A$1:ИНДЕКС($A:$A;ДЛСТР(A1)-ДЛСТР(ПОДСТАВИТЬ(A1;",";))+1))-1)+2;1)));)))

UDF
[vba]
Код
Function JoinArr$(arr As Variant, Optional delim$ = ", ")
      JoinArr = join(arr, delim)
End Function
[/vba]

Автор - krosav4ig
Дата добавления - 25.03.2015 в 16:08
krosav4ig Дата: Четверг, 26.03.2015, 15:04 | Сообщение № 658 | Тема: Выбор последнего значения
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
еще вариант до кучи
1 выделяете любую ячейку в исходной таблице, жмете Ctrl+Shift+Space ,
2 жмете Ctrl+Shift+F3, ставите верхние две галочки > OK
3 если появляется вопрос "Заменить существующее определение ...?, то зажимаете Alt+а (русская, при русской раскладке клавиатуры)

теперь можно использовать формулу
Код
=ПРОСМОТР(9E+307;ДВССЫЛ(A9))
для последнего значения
и формулу
Код
=ПРОСМОТР(9E+307;ДВССЫЛ(A9) $A$1:ДВССЫЛ(ТЕКСТ(C8;"\_дд.МММ")))
для последнего значения на определенную дату (дата в C8)

после добавления строк или столбцов в исходную таблицу нужно повторить шаги 1-3
К сообщению приложен файл: 2055337.xlsx (11.0 Kb)


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
Сообщениееще вариант до кучи
1 выделяете любую ячейку в исходной таблице, жмете Ctrl+Shift+Space ,
2 жмете Ctrl+Shift+F3, ставите верхние две галочки > OK
3 если появляется вопрос "Заменить существующее определение ...?, то зажимаете Alt+а (русская, при русской раскладке клавиатуры)

теперь можно использовать формулу
Код
=ПРОСМОТР(9E+307;ДВССЫЛ(A9))
для последнего значения
и формулу
Код
=ПРОСМОТР(9E+307;ДВССЫЛ(A9) $A$1:ДВССЫЛ(ТЕКСТ(C8;"\_дд.МММ")))
для последнего значения на определенную дату (дата в C8)

после добавления строк или столбцов в исходную таблицу нужно повторить шаги 1-3

Автор - krosav4ig
Дата добавления - 26.03.2015 в 15:04
krosav4ig Дата: Пятница, 27.03.2015, 01:24 | Сообщение № 659 | Тема: СЦЕПИТЬ 2 значения ВПР (с одинаковым искомым)
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
marik2k, на английской раскладке жмем ALT+F11+IM, вставляем в открывшийся созданный модуль код функции и закрываем редактор VBE
К сообщению приложен файл: _2_.xlsm (20.5 Kb)


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
Сообщениеmarik2k, на английской раскладке жмем ALT+F11+IM, вставляем в открывшийся созданный модуль код функции и закрываем редактор VBE

Автор - krosav4ig
Дата добавления - 27.03.2015 в 01:24
krosav4ig Дата: Пятница, 27.03.2015, 02:56 | Сообщение № 660 | Тема: Как отфильтровать размеры крепежных изделий?
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
billy_bones, тут смотрели?


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
Сообщениеbilly_bones, тут смотрели?

Автор - krosav4ig
Дата добавления - 27.03.2015 в 02:56
Поиск:

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