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

Вход

Регистрация

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

 

= Мир MS Excel/Функция СЦЕПИТЬ по заданному условию - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Функция СЦЕПИТЬ по заданному условию
VEKTORVSFREEMAN Дата: Четверг, 02.10.2014, 09:23 | Сообщение № 1
Группа: Друзья
Ранг: Ветеран
Сообщений: 772
Репутация: 130 ±
Замечаний: 0% ±

MS Office Excel 2010
Доброго утра!
Уважаемые форумчане прошу Вас помочь мне в написании формулы СЦЕПИТЬ на основании условия (это мой вариант решения вопроса) но если будут ваши предложения с абсолютно другими вариантами решения, то конечно же для меня важен конечный результат.
Имеется отчет по выходу техники с столбцами "Наименование техники" и "Кол-во" (еще доп. столбец для получения итогового результата, если можно обойтись без него, то можно его в учёт не брать) необходимо что бы в итоге в одной ячейке были перечислены вся техника с количеством.
В файле привел два примера. Нормальный итог (Пример №1) с выходом всех машин и (Пример №2) с отсутствием нескольких машин, второй является некорректным, т.к. присутствуют дополнительные точка с запятой.
Так же пояснение вопроса есть в примере.
К сообщению приложен файл: ____.xlsx (14.8 Kb)


"Опыт - это то, что получаешь, не получив того, что хотел"
 
Ответить
СообщениеДоброго утра!
Уважаемые форумчане прошу Вас помочь мне в написании формулы СЦЕПИТЬ на основании условия (это мой вариант решения вопроса) но если будут ваши предложения с абсолютно другими вариантами решения, то конечно же для меня важен конечный результат.
Имеется отчет по выходу техники с столбцами "Наименование техники" и "Кол-во" (еще доп. столбец для получения итогового результата, если можно обойтись без него, то можно его в учёт не брать) необходимо что бы в итоге в одной ячейке были перечислены вся техника с количеством.
В файле привел два примера. Нормальный итог (Пример №1) с выходом всех машин и (Пример №2) с отсутствием нескольких машин, второй является некорректным, т.к. присутствуют дополнительные точка с запятой.
Так же пояснение вопроса есть в примере.

Автор - VEKTORVSFREEMAN
Дата добавления - 02.10.2014 в 09:23
ArkaIIIa Дата: Четверг, 02.10.2014, 09:40 | Сообщение № 2
Группа: Проверенные
Ранг: Ветеран
Сообщений: 894
Репутация: 115 ±
Замечаний: 0% ±

2010
Как-то... других идей по-утру нет :-) подождем, может профи подскажут, как массивную формулу сделать)
Код
=I15&" ("&ЕСЛИ(J5<>"";J5&"; ";"")&ЕСЛИ(J6<>"";J6&"; ";"")&ЕСЛИ(J7<>"";J7&"; ";"")&ЕСЛИ(J8<>"";J8&"; ";"")&ЕСЛИ(J9<>"";J9&"; ";"")&ЕСЛИ(J10<>"";J10&"; ";"")&ЕСЛИ(J11<>"";J11&"; ";"")&ЕСЛИ(J12<>"";J12&"; ";"")&ЕСЛИ(J13<>"";J13&"; ";"")&ЕСЛИ(J14<>"";J14;"")&")"
К сообщению приложен файл: VEKTORVSFREEMAN.xlsx (15.0 Kb)


Сообщение отредактировал ArkaIIIa - Четверг, 02.10.2014, 09:41
 
Ответить
СообщениеКак-то... других идей по-утру нет :-) подождем, может профи подскажут, как массивную формулу сделать)
Код
=I15&" ("&ЕСЛИ(J5<>"";J5&"; ";"")&ЕСЛИ(J6<>"";J6&"; ";"")&ЕСЛИ(J7<>"";J7&"; ";"")&ЕСЛИ(J8<>"";J8&"; ";"")&ЕСЛИ(J9<>"";J9&"; ";"")&ЕСЛИ(J10<>"";J10&"; ";"")&ЕСЛИ(J11<>"";J11&"; ";"")&ЕСЛИ(J12<>"";J12&"; ";"")&ЕСЛИ(J13<>"";J13&"; ";"")&ЕСЛИ(J14<>"";J14;"")&")"

Автор - ArkaIIIa
Дата добавления - 02.10.2014 в 09:40
VEKTORVSFREEMAN Дата: Четверг, 02.10.2014, 09:48 | Сообщение № 3
Группа: Друзья
Ранг: Ветеран
Сообщений: 772
Репутация: 130 ±
Замечаний: 0% ±

MS Office Excel 2010
ArkaIIIa, спасибо тебе за решение. Подождём еще, может кто другой вариант предложит, но тем не менее твой вариант рабочий :)
ArkaIIIa, делал ранее сам примерно по твоему принципу, но результат не получался таким как хотел. Видимо по тому что не знаю что обозначет в твоей формуле логические выражения у ЕСЛИ, например (J5<>"") можешь разъяснить?


"Опыт - это то, что получаешь, не получив того, что хотел"
 
Ответить
СообщениеArkaIIIa, спасибо тебе за решение. Подождём еще, может кто другой вариант предложит, но тем не менее твой вариант рабочий :)
ArkaIIIa, делал ранее сам примерно по твоему принципу, но результат не получался таким как хотел. Видимо по тому что не знаю что обозначет в твоей формуле логические выражения у ЕСЛИ, например (J5<>"") можешь разъяснить?

Автор - VEKTORVSFREEMAN
Дата добавления - 02.10.2014 в 09:48
ArkaIIIa Дата: Четверг, 02.10.2014, 09:53 | Сообщение № 4
Группа: Проверенные
Ранг: Ветеран
Сообщений: 894
Репутация: 115 ±
Замечаний: 0% ±

2010
VEKTORVSFREEMAN
<> - это символ "не равно"
& - символ, использующийся вместо функции "сцепить"
Конструкция:
Код
ЕСЛИ(J5<>"";J5&"; ";"")

Значит:
Если J5 не равно "пусто", то J5&"; ", в противном случае (т.е. если J5 все же равно "пусто") возвращаем "пусто".


Сообщение отредактировал ArkaIIIa - Четверг, 02.10.2014, 09:56
 
Ответить
СообщениеVEKTORVSFREEMAN
<> - это символ "не равно"
& - символ, использующийся вместо функции "сцепить"
Конструкция:
Код
ЕСЛИ(J5<>"";J5&"; ";"")

Значит:
Если J5 не равно "пусто", то J5&"; ", в противном случае (т.е. если J5 все же равно "пусто") возвращаем "пусто".

Автор - ArkaIIIa
Дата добавления - 02.10.2014 в 09:53
VEKTORVSFREEMAN Дата: Четверг, 02.10.2014, 10:02 | Сообщение № 5
Группа: Друзья
Ранг: Ветеран
Сообщений: 772
Репутация: 130 ±
Замечаний: 0% ±

MS Office Excel 2010
ArkaIIIa, вот и обнаружена моя вчерашняя ошибка, у меня всё завязывалось на "=", т.к. я новичок и не знал как прописывается знак неравенства, но хотя решать по неравенству и в голову не приходило. Спасибо тебе за приобретенный мною навык. yes


"Опыт - это то, что получаешь, не получив того, что хотел"
 
Ответить
СообщениеArkaIIIa, вот и обнаружена моя вчерашняя ошибка, у меня всё завязывалось на "=", т.к. я новичок и не знал как прописывается знак неравенства, но хотя решать по неравенству и в голову не приходило. Спасибо тебе за приобретенный мною навык. yes

Автор - VEKTORVSFREEMAN
Дата добавления - 02.10.2014 в 10:02
ArkaIIIa Дата: Четверг, 02.10.2014, 10:05 | Сообщение № 6
Группа: Проверенные
Ранг: Ветеран
Сообщений: 894
Репутация: 115 ±
Замечаний: 0% ±

2010
VEKTORVSFREEMAN
Ну, в данном случае можно и через равенство решать, ничего сильно не изменится, конструкция будет:
Код
ЕСЛИ(J5="";"";J5&"; ")
,
Т.е. просто местами поменяются аргументы в случае ИСТИНА или ЛОЖЬ.
 
Ответить
СообщениеVEKTORVSFREEMAN
Ну, в данном случае можно и через равенство решать, ничего сильно не изменится, конструкция будет:
Код
ЕСЛИ(J5="";"";J5&"; ")
,
Т.е. просто местами поменяются аргументы в случае ИСТИНА или ЛОЖЬ.

Автор - ArkaIIIa
Дата добавления - 02.10.2014 в 10:05
Pelena Дата: Четверг, 02.10.2014, 10:10 | Сообщение № 7
Группа: Админы
Ранг: Местный житель
Сообщений: 19404
Репутация: 4555 ±
Замечаний: ±

Excel 365 & Mac Excel
В Готовых решениях есть несколько UDF, выполняющих сцепление по условию
http://www.excelworld.ru/forum/3-26-1
http://www.excelworld.ru/board....-1-0-24
Недавно похожие темы были
http://www.excelworld.ru/forum/2-13258-1
http://www.excelworld.ru/forum/2-13291-1

Если надо именно формулами, то решение с доп. столбцом
К сообщению приложен файл: -5.xlsx (13.5 Kb)


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
СообщениеВ Готовых решениях есть несколько UDF, выполняющих сцепление по условию
http://www.excelworld.ru/forum/3-26-1
http://www.excelworld.ru/board....-1-0-24
Недавно похожие темы были
http://www.excelworld.ru/forum/2-13258-1
http://www.excelworld.ru/forum/2-13291-1

Если надо именно формулами, то решение с доп. столбцом

Автор - Pelena
Дата добавления - 02.10.2014 в 10:10
VEKTORVSFREEMAN Дата: Четверг, 02.10.2014, 10:11 | Сообщение № 8
Группа: Друзья
Ранг: Ветеран
Сообщений: 772
Репутация: 130 ±
Замечаний: 0% ±

MS Office Excel 2010
[offtop] ArkaIIIa, плохо не сохранил своих вчерашних попыток, а то было бы интересно получить замечания в тех местах, где я ошибался.[/offtop]


"Опыт - это то, что получаешь, не получив того, что хотел"
 
Ответить
Сообщение[offtop] ArkaIIIa, плохо не сохранил своих вчерашних попыток, а то было бы интересно получить замечания в тех местах, где я ошибался.[/offtop]

Автор - VEKTORVSFREEMAN
Дата добавления - 02.10.2014 в 10:11
VEKTORVSFREEMAN Дата: Четверг, 02.10.2014, 10:16 | Сообщение № 9
Группа: Друзья
Ранг: Ветеран
Сообщений: 772
Репутация: 130 ±
Замечаний: 0% ±

MS Office Excel 2010
Pelena, спасибо за вариант решения. Думаю он будет мне дорог с точки зрения изучения аргументов функций и отпечатается в моей голове как бесценный опыт. Думаю все же решение от ArkaIIIa, более простое, т.к. в доп. ячейках таблицы имеем более простые формулы, а в итоговой ячейке большую посложней. В Вашем предложении наоборот, больше сложных формул в доп. столбцах, но в итоговой ячейке весьма простая. Pelena, спасибо Вам!))


"Опыт - это то, что получаешь, не получив того, что хотел"


Сообщение отредактировал VEKTORVSFREEMAN - Четверг, 02.10.2014, 10:17
 
Ответить
СообщениеPelena, спасибо за вариант решения. Думаю он будет мне дорог с точки зрения изучения аргументов функций и отпечатается в моей голове как бесценный опыт. Думаю все же решение от ArkaIIIa, более простое, т.к. в доп. ячейках таблицы имеем более простые формулы, а в итоговой ячейке большую посложней. В Вашем предложении наоборот, больше сложных формул в доп. столбцах, но в итоговой ячейке весьма простая. Pelena, спасибо Вам!))

Автор - VEKTORVSFREEMAN
Дата добавления - 02.10.2014 в 10:16
ArkaIIIa Дата: Четверг, 02.10.2014, 10:17 | Сообщение № 10
Группа: Проверенные
Ранг: Ветеран
Сообщений: 894
Репутация: 115 ±
Замечаний: 0% ±

2010
VEKTORVSFREEMAN
У Вас в исходной формуле (не большой, которая для всех ячеек), а той что внутри таблиц, вот этой:
Код
=ЕСЛИ(I5>0;СЦЕПИТЬ(I5&" ед.- "&H5);" ")

Зачем то в случае, если ЛОЖЬ - проставляется пробел (" "), вместо того, чтобы ячейку оставлять пустой ("").
На мой взгляд - пробел - это не очень удобно, т.к. он потом будет только мешать, если нужно будет что-то считать.

ЗЫ. Елена написала формулу. Посмотрел. - %) Пойду поработаю..)


Сообщение отредактировал ArkaIIIa - Четверг, 02.10.2014, 10:18
 
Ответить
СообщениеVEKTORVSFREEMAN
У Вас в исходной формуле (не большой, которая для всех ячеек), а той что внутри таблиц, вот этой:
Код
=ЕСЛИ(I5>0;СЦЕПИТЬ(I5&" ед.- "&H5);" ")

Зачем то в случае, если ЛОЖЬ - проставляется пробел (" "), вместо того, чтобы ячейку оставлять пустой ("").
На мой взгляд - пробел - это не очень удобно, т.к. он потом будет только мешать, если нужно будет что-то считать.

ЗЫ. Елена написала формулу. Посмотрел. - %) Пойду поработаю..)

Автор - ArkaIIIa
Дата добавления - 02.10.2014 в 10:17
VEKTORVSFREEMAN Дата: Четверг, 02.10.2014, 10:26 | Сообщение № 11
Группа: Друзья
Ранг: Ветеран
Сообщений: 772
Репутация: 130 ±
Замечаний: 0% ±

MS Office Excel 2010
[offtop] ArkaIIIa, спасибо за еще один урок, т.к. не знал, что можно применять ("") пусто hands [/offtop]


"Опыт - это то, что получаешь, не получив того, что хотел"
 
Ответить
Сообщение[offtop] ArkaIIIa, спасибо за еще один урок, т.к. не знал, что можно применять ("") пусто hands [/offtop]

Автор - VEKTORVSFREEMAN
Дата добавления - 02.10.2014 в 10:26
VEKTORVSFREEMAN Дата: Четверг, 02.10.2014, 10:32 | Сообщение № 12
Группа: Друзья
Ранг: Ветеран
Сообщений: 772
Репутация: 130 ±
Замечаний: 0% ±

MS Office Excel 2010
Pelena, был вчера на готовых решениях функция UDF "СЦЕПИТЬЕСЛИ", но думаю для моего уровня это еще слишком %) Ничего не понял там(


"Опыт - это то, что получаешь, не получив того, что хотел"
 
Ответить
СообщениеPelena, был вчера на готовых решениях функция UDF "СЦЕПИТЬЕСЛИ", но думаю для моего уровня это еще слишком %) Ничего не понял там(

Автор - VEKTORVSFREEMAN
Дата добавления - 02.10.2014 в 10:32
  • Страница 1 из 1
  • 1
Поиск:

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