Объединение значений нескольких ячеек в одну текстовую строку в EXCEL
Смотрите также через пару лет не моргнет.
несколько условий для «)), » «,Дошло,спасибо третью — уже при суммировании выводиться
конструкция вида 10 000, разница на свой лад объяснить2250-3340, 720, 540,2880,760
Enter кнопку ячейки таблицы вплоть формулу или текстОбъединим значения из нескольких
) Но ты-99800- одной ячейки?», то «,») & «})»)Hugo121
действия над этими не общее количество=СУММ(ПСТР(A5;1;НАЙТИ(«/»;A5;1)-1);ПСТР(A5;1;НАЙТИ(«/»;A5;1)-1))&»/»&СУММ(ПСТР(A4;НАЙТИ(«/»;A4;1)+1;10);ПСТР(A4;НАЙТИ(«/»;A4;1)+1;10))
большая кто то черезFor i =то есть все
. Вуаля! Excel автоматическиВыделить до крайней правой. сразу в несколько ячеек в одной же хочешь унижатьkim нужно создать новую End FunctionОна «не: Хотя 10 преподаватели двумя результатами часов, а числослэнAlexM точку запятой, вообщем
0 To UBound(arr) что написано с заполнил все пустые(Special). Далее, удерживая ячеек. Это будет ячейке. мои умственные способности: Конечно обманет :) тему с новым
боится» лишних пробелов, ставят только себе,Skv кратное 24 +: хотя конечноможно и: Посмотрите еще вариант пока никто из //задаем цикл фор десятичным разделителем нужно ячейки нового столбцаВ диалоговом окнеShift полезно в такихПредположим, что имеется диапазон и почему-то продолжаешь но случай интересный. вопросом. Чтобы узнать пустого числителя/знаменателя. В кажется так…
: «…нужно чтоб они
остальные часы. так.. щас формулистыmyr
предыдущих не додумался If arr(i) <> умножить на 1000(такие такой же формулой.Выделить группу ячеек
excel2.ru
Как вставить одинаковые данные (формулы) во все выделенные ячейки одновременно
, нажмите несколько раз ситуациях, когда нужно имен, необходимо, чтобы думать что всеА логика звучит как работают сложные ячейке может бытьOLEGOFF не складывались аurfin0000 изобразят: идеально, как это делать «Н/Д» Then // значения как (2.25Если решите вернуться от(Go To special) клавишу со вставить формулу во
все имена были должны быть такие так: формулы, нужно знать
- и более двух: Для учителей,которые ставят показывались отдельно друг
- : я бы наверное
- ztn3t1
- и код очень
- и приходится все
- если в цикле 3,34) и прочее
- таблицы к формату отметьте флажком вариантСтрелкой влево все ячейки столбца
- выведены подряд в умные как ты.Из общей суммы
- как работают простые. чисел через дробь 10-и
Выделяем все ячейки, в которые нужно вставить одинаковые данные
от друга в не стал ломать
Выделяем целый столбец
- : Вышло, коряво, конечно, легкий для понимания делать вручную (i) равно ндзначения которые написаны обычного диапазона, тоПустые ячейки, пока выделенным не
или заполнить все одной ячейке. Хотя у тебя (обязательно содержащей либо Про работу простых или через пробел.AlexM одной ячейке… «
- голову и просто с доп.столбцами, нотолько одна строчкаэто реально сделать? If IsNumeric(arr(i)) Then без десятичного раздилителя выделите любую ячейку(Blanks) и нажмите останется только нужный
пустые ячейки одинаковымКогда значений немного, то не только ум Машу, либо козу) функций, можно почитатьМакросы в гугл-таблицах: Что-то просто неНа Лист1, в добавил за основной пока только учусь кода не понятнаAlexM // тогда ищем нужно оставить таблицы и наОК
столбец. значением (например, «Н/Д»). объединить их можно но и опыт исключаются только те в справке Excel вставить нельзя получилось. Массивная формула ячейке А1 вписываем таблицей столбцы в :)vb.net iStr =: Вводите стандарты на следущую (i) arr(i)кроме тех значений вкладке
.Это самый быстрый способ Оба приёма работают с помощью функции еще громадный. А
Выделяем целую строку
- числа, которые соответствуют или задавать интересующийAnd_ss Код =СУММ((ЛЕВБ(0&B2:G2;ПОИСК(«?/»;0&B2:G2&»/»))+ПСТР(B2:G2&ЕСЛИ(ЕТЕКСТ(B2:G2);»»;»/0″);ПОИСК(«/»;B2:G2&»/0″)+1;9))/2^ЕТЕКСТ(B2:G2))/СЧЁТЗ(B2:G2) Без формулу: =СЦЕПИТЬ (Лист2!A1;СИМВОЛ которых 12/8 поделилВообще, где то Replace(iStr, » т»,
- ввод данных. Иначе = arr(i) * которые меньше 11КонструкторВы вернётесь в режим выделить все ячейки в Microsoft Excel СЦЕПИТЬ() записав формулу у меня и условию: «есть Маша, вопрос Гуглу. Здесь: Здравствуйте! дополнительных столбцов. (32);СИМВОЛ (94);СИМВОЛ (32);Лист3!A1) бы через найти в копилке было «») всегда будут проблемы. 1000 // iто есть если(Design) нажмите кнопку редактирования листа Excel столбца, особенно когда
Выделяем несколько ячеек
2013, 2010, 2007 =СЦЕПИТЬ(A6;A7;A8;A9) то и другое но нет козы» на форуме тожеТолько начинаю изучать
Выделяем таблицу целиком
alisavzazerkaleЧитаем её так: и пстр на подобное, там одной
Выделяем все ячейки на листе
AlexMПосмотрите файл, ошибки * 1000 Else в ячейки будетПреобразовать в диапазон и увидите, что данные чередуются с и более раннихИли с помощью Амперсанда скромное. Кстати неприятно минус сумма чисел можно получить ответы Ексель!: Спасибо. Но только «выполнить сцепление значений, 12 (в первых формулой задача решается,: Строкой кода objRegExp.Pattern все равно остались. // иначе arr(i) 1, 4-5(нужно будет(Convert to range).
Выделяем пустые ячейки в заданной области (в строке, в столбце, в таблице)
в выбранной области пустыми ячейками. версиях.
& (добавим еще когда унижаешь. В соответствующих условию: «есть на свои вопросы,Возник вопрос: как средний балл получается записанных на Лист2, 31-м столбце) и нет времени найти.
= «[^-.,;/+шт0-9s]»задаются символы, Function Dlina(iStr) As = Split(arr(i), «-«)(0) тоже их умножитьЭтот приём можно использовать выделены только пустыеЕсли данные в ExcelЗнание этих простых приёмов
для красоты символ принцип это правда коза, но нет при наличии Вашего задать одной ячейке неправильный ячейка А1 и на 8 (вVLad777 которые должны остаться String Dim arr, * 1000 & на 1000) только, когда все ячейки. Три пустых оформлены как полноценная сэкономит Вам уйму
Самый быстрый способ вставить формулу во все ячейки столбца
пробела): =A6&» «&A7&» что ты говоришь Маши». интереса. несколько значений ЕСЛИНапример, Архипов: (4+5+5+3+5):5=4,4 Лист3, ячейка А1, следующих 31-м столбце).: можно так.
- в строках. i As Long «-» & Split(arr(i),а те что ячейки в столбце ячейки гораздо проще таблица, просто кликните времени для более «&A8&» «&A9 но ты этоkoyaanisqatsiYJYNGKНапример: Я хочу а таблица выдаёт разделив их знаками и дели(умножай) дослэнВ ячейке 125 iStr = Replace(iStr, «-«)(1) * 1000
- больше 11 например(760 пустые, поэтому лучше выделить простым щелчком по любой ячейке интересных занятий.Если значений много, то делаешь в особом: Здравствуйте.: Ребята, добрый день! чтобы в ячейке 4,5. И если пробел, крышка, пробел». нехочу :): можно так строка «.», «,») iStr //вот тут не 4440, 120) нужно всего добавлять новый мыши – скажете
- нужной строки и
- Выделяем все ячейки, в придется вводить вручную ключе достаточно неприятном,Можно ли перечислитьВынужден обратиться за D2 было значение
за 4,4 я
Не смотря на
- файл не сильноно..5,29; 4,08, 0,14 торец; = Replace(iStr, «, понял, тут задано оставить
столбец. Следующий приём Вы и будете нажмите которые нужно вставить много амперсандов и я не про несколько строк, то-есть помощью … из ячейки N4 и в четверти
то, что формат утежелит, а расчетныеwww 0,17; 0,16, 385 «, «;») iStr только 2 значения,в итоге получается
Вставляем одинаковые данные в несколько ячеек при помощи Ctrl+Enter
гораздо универсальнее. правы. Но какShift+Space одинаковые данные аргументов функции СЦЕПИТЬ(). сейчас конкретно а
если фамилия водителяпоиск конкретного ответа, если в ячейку должна ставить 4, ячеек на Лист2 столбцы можно и: Текст по столбцамиз которой удаляются = Replace(iStr, «(«, конкретная? 1 первое два вопросаВыделите на листе Excel быть, если пустых
- .Выделяем целый столбец
- Это неудобно. про начало твоих то взять список по моему вопросу, В2 я введу то за 4,5 и Лист3 - скрыть (для красивости) (зазделитель /) все ненужные символы
- «») iStr = значение * 1000как задать формулу ячейки, которые хотите ячеек более 300Если перед Вами обычныйВыделяем целую строку
Избежать этого поможет дополнительный комментариев в предыдущей с листа1 и не дал … единицу (1), чтобы уже можно ставить числовой, в ячейкеПавел ЧеркассыВладимир
и остается строка Replace(iStr, «)», «»)
поставить — и
для нескольких значений
заполнить одинаковыми данными.
office-guru.ru
Формула для нескольких значений в одной ячейке ексель
и они разбросаны диапазон данных, кликнитеВыделяем несколько ячеек столбец с простейшей теме. перечислить все неМне необходимо посчитать в ячейке D2
5, так что А1 её формат: urfin0000, гораздо проще
: Для основного времени:5,29; 4,08, 0,14 т;
iStr = Replace(iStr,
вторая такая же в одной ячейки Быстро выделить ячейки случайным образом по последнюю ячейку нужнойВыделяем таблицу целиком
формулой:Да вба надо равные нулю значения
сумму столбца В было значение из
разница важна. на Лист1 преобразуется добавить строку для=ЕСЛИ(ЕЧИСЛО(ПСТР(C7:H7;ПОИСК(«/»;C7:H7)-2;2)*1);ПСТР(C7:H7;ПОИСК(«/»;C7:H7)-2;2)*1)+СУММ(ПСТР(C7:H7;ПОИСК(«/»;C7:H7)-1;1)*1) 0,17; 0,16, 385
» -«, «;-«) переменная * 1000 и как задать помогут приёмы, описанные
диапазону из 10000 строки и нажмите
Выделяем все ячейки наЗначение из последней строки начинать изучать. это в одной ячейке при условии, что ячейки N5 еслиИли Атаманенко: (5+3+4):3
в общий (текстовый). часов переработки. СнимаетДля переработки:» т» (пробел
arr = Split(iStr, End If End
условия если для выше. ячеек?Shift+Home листе
будет содержать желаемую понятно. Но у через запятую и значения в столбце в ячейку В2 = 4, аКод знака символа множество проблем, единственное=СУММ(ПСТР(C7:H7;ПОИСК(«/»;C7:H7)+1;2)*1) т) убирает строка «;») For i If Next i разных значений вПредположим, у нас естьЕсть большая таблица, и. Excel выделит диапазон,Выделяем пустые ячейки в текстовую строку (см. меня есть некая пробел. Пример на
А (соответствующих ячеек) я введу двойку в таблице 4,25. можно посмотреть через: — выглядит неОбе формулы масива. кода, о которой = 0 To Dlina = Join(arr, одной ячейки таблица со списком в неё нужно начиная от указанной заданной области (в файл примера). инертность что еще Лист2 содержат два искомых (2), и такихВ гугл таблицах «Вставка», «Символ» (кодировка очень
Павел Черкассы вы спрашиваете. UBound(arr) If IsNumeric(arr(i)) «; «) //вызовAlexM
клиентов (мы, конечно добавить новый столбец Вами ячейки и строке, в столбце,Возвращаясь к функции СЦЕПИТЬ() можно сделать безkrosav4ig значения (в моем ЕСЛИ мне нужно нет функции левб ASCII дес. )Владимир: Спасибо всем откликнувшимся.fioreroso Then arr(i) = функции End Functionочень: Результаты формул можно же, возьмём вымышленный с какой-нибудь формулой. до столбца в таблице) можно обнаружить, что применения ВБА хочется: UDF СцепитьЕсли примере это корни втиснуть 9 вЯ пыталась высчитыватьЧтобы не возиться: А если не Помогло, но только: Добрый день всем! IIf(arr(i) < 11, близко чувствуются что сцепить функцией СЦЕПИТЬ() список). В одном
Предположим, это списокАСамый быстрый способ вставить она может вернуть дожать. Когда начну200?’200px’:»+(this.scrollHeight+5)+’px’);»>=СцепитьЕсли(СМЕЩ(Лист1!A3;;ПОИСКПОЗ(A9;Лист1!1:1;)-1;СЧЁТЗ(СМЕЩ(Лист1!A:A;;ПОИСКПОЗ(A9;Лист1!1:1;)-1)));»>0″;СМЕЩ(Лист1!A3;;ПОИСКПОЗ(A9;Лист1!1:1;)-1;СЧЁТЗ(СМЕЩ(Лист1!A:A;;ПОИСКПОЗ(A9;Лист1!1:1;)-1)));», «)
слов «маш» и ячейку D2 в таких ячейках со считыванием значений один человек имеет
частично. Ряд значений Есть таблица (список arr(i) * 1000, вы бы мою или знаком & из столбцов этой интернет-адресов, из которого. Если нужные данные формулу во все
несколько значений в применять ВБА вkoyaanisqatsi «коз»)Подскажите, возможно ли сред.значение. Делала их
из «сцепленного» - такую запись? Лучше выглядит таким образом: выставок), в одну arr(i)) Else On проблему решили минутК вопросу надо таблицы записаны сайты,
нужно извлечь имена начинаются, например, со ячейки столбца одной строке и рабочей базе наверняка: krosav4ig, Спасибо. Такое… к сожалению это, потому что текстовыми и присваивала
проще указать ссылки наверное макрос.. 7:15 7:15 7:15
общую таблицу выводятся Error Resume Next
за 10, прикладывать файл.
с которых перешли доменов для дальнейшей столбцаВставляем одинаковые данные в без утомительного ввода нахватаю опять шишек. только с макросом «суммпроизв» не дала обыскал интернет и
числовое значение. Например,
на исходные листыvikttur 8:0 8:0 12/8 данные со всех
arr(i) = IIf(arr(i)чисел в ячейкеmyr наши клиенты. Пустые работы.B несколько ячеек при многочисленных аргументов. Для Не факт что возможно ? нужного результата (может не могу найти ячейке 5/4 присваивала и ячейки.: Где Вы так 12/8, где 7:15, вкладок. Но…если мы < 11, Split(arr(i), может быть сколько: Вот в столбце ячейки в этомПреобразуйте диапазон в таблицуили помощи Ctrl+Enter этого запишем формулу все будет работатьAndreTM у меня не ответ! Спасибо! значение 4,5. ИУдачи! научились? И нас 8:0 — количество ищем значения через «-«)(0) * 1000,
угодно, то есть длина нужно изменить столбце необходимо заполнить
Excel. Для этогоCВот самые быстрые способы
=СЦЕПИТЬ(A6:A9), указав в так как хотелось: Антон, завязывай
правильный синтаксис) …And_ss у меня тоже
alisavzazerkale учите: рабочих часов, ввожу
ВПР, то в Split(arr(i), «-«)(0)) _ вот так ‘4400, значения на то текстом «_unknown_», чтобы выделите любую ячейку, зажмите выделить ячейки: качестве единственного аргумента бы.Сказано же -прошу помощи в: Кто профи? Помогите! получался неправильный средний: Добрый день!»Сегодня будем совмещать в формате ч:мин; ячейку выводится только & «-» & 170, 130, 150, как должно выглядеть.
облегчить дальнейшую сортировку: в диапазоне данныхShiftЕсли данные в Excel весь диапазон сразу,
koyaanisqatsi учи VBA.
решении этой задачиSuperCat
балл.Я учитель, делаю
время и расстояние: 12/8 — 12
одно значение, а IIf(arr(i) < 11, 4,4, 0,17
Виктор МихалычВыделите все пустые ячейки и нажмитеи понажимайте на оформлены как полноценная
а не отдельные: AndreTM, И кстатиВот ты опять …: And_ss, справку поOLEGOFF в Excel (а копать канаву с отработанных часов, из как сделать, чтобы Split(arr(i), «-«)(1) *и записываться они: Я думаю тут
CyberForum.ru
Несколько значений в одной ячейке
в столбце.Ctrl+T клавишу со таблица, просто кликните ячейки. В результате вот этот пример придумал себе задачку.nilem функции ЕСЛИ читали?: По мотивам формулы точнее, в таблицах обеда и до них 8 - в 1 ячейку 1000, Split(arr(i), «-«)(1)) могут не только без VBA неНажмите, чтобы вызвать диалоговоеСтрелкой вправо по любой ячейке получим лишь значение с вба самый Этот «список через
: вот, например Там есть примеры
от гугл) для себя
забора» :) сверх нормы. Должно
planetaexcel.ru
Два значения в одной ячейке.
выводилось сразу несколько End If Next через «,» но обойтись! В ячейкеF2 окно, пока не добьётесь нужного столбца и первой ячейки. безобидный может быть. запятую» стандартными средствами=СУММПРОИЗВ(ЕЧИСЛО(ПОИСК(«маш»;A5:A11))*(ЕЧИСЛО(ПОИСК(«коз»;A5:A11)))*B5:B11) вложенности.AlexM журнал с отметками.Формулы массива: получаться — 61:45 разных значений? То
i Dlina = и с точкой может быть любое, чтобы отредактировать активную
Создание таблицы нужного результата. нажмитеТеперь в Строке формул так как от делать достаточно сложно
VLad777
Юрий МКод =СУММ((ЛЕВБ(0&B2:G2;ПОИСК(«?/»;0&B2:G2&»/»))+ПСТР(B2:G2&ЕСЛИ(ЕТЕКСТ(B2:G2);»»;»/0″);ПОИСК(«/»;B2:G2&»/0″)+1;9)))/(СУММ(—ЕТЕКСТ(B2:G2))+СЧЁТЗ(B2:G2)) Хотелось бы сделать=СУММ(ЕСЛИ(ЕЧИСЛО(ПОИСК(«/»;N5:S5));ПСТР(N5:S5;1;ПОИСК(«/»;N5:S5)-1)/24);N5:S5) (Формат «Время,
и 16. Может есть если на Join(arr, «; «) например «2.4» кол.во значений. Если
ячейку, и введите(Create Table). ЕслиУдерживайтеCtrl+Space выделим формулу =СЦЕПИТЬ(A6:A9)
этой информации почти (похожая тема), а
: так: Всего 3 (ТРИ!)
AlexM
такую ячейку, в 37:30:55″) я изначально пошел
1 даты (по End Function
так же стоит
бы вы значения
в неё что-нибудь:
данные имеют заголовки
Ctrl. и нажмем клавишу ничего не зависит. он тебе нужен=СУММПРОИЗВ(ЕЧИСЛО(ПОИСК(«маш»;$A$5:$A$11))*ЕЧИСЛО(ПОИСК(«коз»;$A$5:$A$11))*$B$5:$B$11) минуты прошло, а: В файле «Журнал» которой можно выставлять=СУММ(—ПСТР(N5:S5&»/0»;ПОИСК(«/»;N5:S5&»/»)+1;1)) не тем путем которой ищет ВПР)AlexM учитывать что некоторые длины вводили в это может быть столбцов, поставьте галочкуи кликайте левойПримечание: F9. Получим массив она ознакомительно-сравнительного характера. когда? — правильно,
VLad777 Вы уже кричите. выдает 4,4
оценки через дробь.
Диапазоны корректируйте.
и есть возможность есть 2 выставки,
: Еще вариант ошибок пишут значение в разные ячейки, то текст, число или для параметра
кнопкой мыши поПри выделении любой ={«Вася»:»Петя»:»Даша»:»Маша»}, его можно если и поймаю только в одном: для 2007 и Потерпеть никак?alisavzazerkale Например, за диктантМне нужно через функции
по другому отображать то можно ли меньше
десятичных числах которые проблем нет, а формула. В нашемТаблица с заголовками всем ячейкам, которые ячейки в полноценной скопировать в буфер какой глюк то отчётике, который ты вышеИ где Ваш: Это как считать. 5/4. И чтобы в одной ячейки часы/минуты? в общей таблице
myr нужно перевести, а в таком варианте… случае, это текст(My Table has нужно заполнить данными. таблице на Ленте обмена (без знака уже буду знать порежешь на полосочки=СУММЕСЛИМН(B5:B11;A5:A11;»*маш*»;A5:A11;»*коз*») файл-пример?Первый предмет диктант они учитывались при указать 2 значения,
Владимир в одной ячейке: по моему идеально? не которые пишут
И если вместо «_unknown_». headers). Обычно ExcelКликните по любой ячейке меню появляется группа = и фигурных что к чему
и раздашь водителям,YJYNGKМВТ 4/5 средний балл расчёте среднего балла.
через «сумм» не: А может всё-таки и вывести названия не?
как надо в запятой поставят точкуТеперь вместо распознаёт заголовки автоматически, таблицы и нажмите
вкладок
скобок) и вставить и не пострадаю
«сегодняшний маршрут» называется.
: Ребята, спасибо большое,
planetaexcel.ru
(Excel) Можно ли в одной ячейки указать 2 значения?
: UPD Без файла-примера по предмету 4,5 Возможно ли такое получаеться. Мне нужно пример появиться? этих двух выставок?спасибо вам огромное, милиметрах например вон или где тоEnter если это неCtrl+AРабота с таблицами
в нужную ячейку. от не верных И зачем тебе все отлично !!
плохо, но если
Второй предмет 5 в Excel?
знать можно ли——Заранее спасибо за а то я
«4400» пропустят пробел или…нажмите
сработало – поставьте.
(Table Tools).От наборов символов «:» данных или иных
ЭТО делать формулами,kim описание соответствует действительности,Третий предмет 3/5Hugo121 это ячейку разбить30303 — Красота!! помощь уже отчаиваться начинал.
некоторые вообще изгаляются Ко всему этомуCtrl+Enter галочку вручную.НажмитеЕсли же это обычный
(двойные кавычки, двоеточие казусов. да ещё и: Вариант с МУМНОЖ()
то проще так средний балл 4: Думаю и в на пополам илиПавел ЧеркассыThe_PristAlexM
пишут в скобках ячейка в текстовом. Все выделенные ячейкиДобавьте новый столбец кCtrl+A диапазон, т.е. при и опять двойныеAndreTM
постоянно пересчитывать при=СУММПРОИЗВ((МУМНОЖ(—(ЕЧИСЛО(ПОИСК({«маш»;»коз»};A5:A11)));{1:1})=2)*B5:B11)=ИНДЕКС($N$4:$N$12;D2)Средний балл по
Экселе это можно формулы берушие от: Пример:: Несколько строк с диапозон а потом
формате наверняка и
Можно ли в одну ячейку вставить два числа?
будут заполнены введёнными таблице. С таблицей
от одного до выделении одной из кавычки) можно избавиться: Давай уже перестанем изменениях в логистике?Владимирgling трем предметам обработать только макросом двух мест данныеВладимирfioreroso ошибками через ; пишут как изволите текст
данными. эта операция осуществляется трех раз. Первое ячеек этого диапазона с помощью функции ругаться, а? НиктоТы можешь делать: =СУММПРОИЗВ((ЕЧИСЛО(ПОИСК({«маш»;»коз»};A5:A11))*{1;1}=1)*B5:B11)-СУММ(B5:B11)
: Или не летучая4,5+5+4 =13,5 (ну или UDF). разделить какием нибудь: Какие проблемы? Правка
: Спасибо. Помогло112, 125, 184, еще числа через считать?Если Вы знаете другие намного проще, чем нажатие группа вкладок
ПОДСТАВИТЬ() (см. файл никого не унижает это только один
kim в D2 =ИНДЕКС(N4:N12;B2)
13,5/3 = 4,5 А как там значком типа «;/|()»
-> Заменить «/»Павел Черкассы 204, 206, 234,
запятую
AlexM приёмы быстрого ввода с простым диапазономCtrl+A
Работа с таблицами примера). или с и не восхваляет.
раз, только тогда,: Кто возьмется объяснитьAnd_ssAlexM в гугле -
? на «:» и: В табеле учета 246, 340, …
вместо «в первоначальном: Функция пользователя Function данных, расскажите о данных. Кликните правойвыделяет текущую область.(Table Tools) не помощью инструмента ЗаменитьДа, иногда просто когда будешь «рисовать» такой вариант? :)
: Спасибо Вам всем: Мы при расчёте гугл его знает…
Алексей матевосов (alexm) проблемы нет..
рабочих часов вmyr варианте нд нет» Dlina(iStr) As String них в комментариях. кнопкой мыши по Второе нажатие, дополнительно появляется, выполните следующие (нажмите невозможно сдержаться -
этот отчет. А=СУММ(СУММЕСЛИ(A5:A11;{«<>»:»=»}&{«*маш*»:»*коз*»};B5:B11)*{-1:1}) за то, что среднего балла суммируем
OLEGOFF
: Можно такой формулойПавел Черкассы одной ячейке указывается
: было бы идеально,если это мой косяк
Dim arr, i Я с радостью любой ячейке в
к текущей области,
действия:CTRL+H
но это только рисовать ты его
ikki
помогаете!
все оценки и: alisavzazerkale,можно так сделать в А1 на: А как тогда общее количество отработанных бы все буквы что не верно As Long arr
добавлю их в столбце, который следует выделяет строки с
Замечание:, чтобы его вызвать). тогда, когда кто-то будешь кодом -: мнээээ…Добавлю пример (значения
делим на их используя доп. столбцы.Которые Лист1
считать рабочие часы часов и через просто исчезали,но опять вас информировал нд = Split(iStr, «;») эту статью, сославшись после того места, заголовками и итогамиК сожалению, в Если строка Вася»:»Петя»:»Даша»:»Маша (необязательно именно ты) и зачем тебескладываются все числа условные)! количество. Поэтому мне
можно скрыть,а когда=Лист2!A1&» — «&Лист3!A1
CyberForum.ru
Как задать несколько условий для одной ячейки?
и часы сверх дробь количество часов
же это не писал я от
For i = на Вас как куда нужно вставить
(например, в полноценных случае с простым находится в ячейке продолжает тогда нынешние знания, с козами (берутсяСпасибо! нужно именно так надо открыть.Разделитель двух данных нормы? Как в сверх нормы. Есть критично,главное что теперь руки изначально там 0 To UBound(arr) автора.
новый столбец, и таблицах). Третье нажатие диапазоном нажатиеG8системно
как это сделать с коэф-том 1)
gling рассчитать.Hugo121 пробел, тире, пробел формуле разделить 7:15
ли функция, с не надо в пустое пространство, If arr(i) <>Урок подготовлен для Вас
в контекстном меню выделяет весь лист.
Ctrl+Space, то формула длязаблуждаться. И это формулой (или даже и от них
: Посмотрите варианты.
alisavzazerkale: Под два значенияЕсли потребуется из
— 7 часов помощью которой можно каждой ячейке изменятьIf arr(i) <>
«Н/Д» Then If командой сайта office-guru.ru
выберите
Думаю, вы догадались,выделит все ячейки
замены этих символов, отнюдь не «спор: кодом, ориентированным именно отнимаются (потомушто -1)And_ss: Тогда берите формулу
через обратный слэш ячейки с двумя 15 минут рабочих
было просуммировать отдельно значения, а в » » Then IsNumeric(arr(i)) Then arr(i)
Источник: https://www.ablebits.com/office-addins-blog/2013/09/26/insert-same-data-multiple-cells-excel/Вставить что в некоторых столбца на листе, например, на символ Формулы vs VBA», на твою табличку те, у которых: Это гениально!!! Спасибо! из сообщения №12 можно так сделать значениями их извлекать, или 7 рабочих, количество рабочих часов 206 ячейке это //мне так кажется = arr(i) *Перевел: Антон Андронов> ситуациях вам потребуется например, от ; будет выглядеть
planetaexcel.ru
Сумма если в одной ячейке содержится несколько искомых значений.
это обычно касается из примера), ведь
нету маш. А я уж
Казанский — а сделайте-ка то
15 сверх нормы? и количество часов и не ошибка arr(i)= «НД» Thenеще 1000 Else arr(i)Автор: Антон АндроновСтолбец слева всего лишь одноC1 так:
методов решения тех данные по рейсам,но это ниправильная думал что такое: Не получается Неправильный
для трёх, илиформула для первогоВладимир
сверх нормы? Сейчас вовсе, я сам
некоторые пишут там
= Split(arr(i), «-«)(0)myr
(Insert > Table
нажатие, чтобы выделитьдо=ПОДСТАВИТЬ(G8;»»»:»»»;»;»)
или иных задач.
по идее, будут формула :))) в Ексель не
тип данных пишет. с учётом десятибальной
значения =ЛЕВСИМВ (A1;ПОИСК
: Извиняюсь. Совсем из приходится забивать на
после 3к ячеек такие знаки как * 1000 &
: Добрый день,вопрос как
Column to the весь лист, а
C1048576В итоге, вставив результатКстати, опыт в храниться в нормализованномпотому что она можно! Спасибо!!!!!!! Чайник я ещё.
системы… («-«;A1)-2)
головы вылетело.. одного человека две хуже бывает пишу,учитывая «+» буквы и «-» & Split(arr(i), написать формула для Left).
в некоторых –, даже если данные формулы как значение, VBA (или функциях) виде с накоплением… работает ТОЛЬКО для
And_ss
Наверное, что-то неправильноOLEGOFFи для второго
Павел Черкассы строки — выглядит
что все это прочее например пишут «-«)(1) * 1000 нескольких значений вДайте название новому столбцу. целых три нажатия. содержатся только в получим строку Вася;Петя;Даша;Маша. у меня отнюдьНу или ладно: варианта, когда в
planetaexcel.ru
одной формулой в одной ячейке перечислить несколько строк (Формулы/Formulas)
: Вопрос не по делаю
: В листе 2 =ПСТР (A1;ПОИСК («-«;A1)+2;50): Формула, которую дал коряво. требуется срочно с «200+ 3 листа» End If End одной ячейки.Есть листВведите формулу в первуюВыделите нужную область (см. ячейках
Примечание не огромный. :)
koyaanisqatsi
каждой строке есть теме удален [МОДЕРАТОР]alisavzazerkale сделал набросок журнала.
где 50 максимальная V срабатывает при
слэн 10 до 4
я в таких If Next i в документе, в ячейку нового столбца. рисунок ниже), например,C1:C100: В формуле дляkrosav4ig: AndreTM, Да я либо «маш», либоИ еще вопрос!: Формула массива вводитсяА какая разница длина строки с вводе данных таким: а зачем вторая и так каждую значениях ставлю нд
Dlina = Join(arr, котором находится произвольное В своём примере целый столбец.. замены двойных кавычек: Тут было тебе уже сто «коз», либо оба — где есть сочетанием клавиш Ctrl+Shift+Enter какая система оценок? двумя значениями. образом: 7:15/0, 8:0/0, строка? может лучше неделю, то этот или просто «200» «; «) End
количество числовых значений
я использую формулуНажмитеВыделите первую ячейку столбца » использовано 2200?’200px’:»+(this.scrollHeight+5)+’px’);»>=ПОДСТАВИТЬ(ЕСЛИ(ДЛСТР(A11)-ДЛСТР(ПОДСТАВИТЬ(A11;»,»;))=ЧСТРОК(СМЕЩ(Лист1!$A$3;;ПОИСКПОЗ(A9;Лист1!$1:$1;)-1;СЧЁТЗ(СМЕЩ(Лист1!$A:$A;;ПОИСКПОЗ(A9;Лист1!$1:$1;)-1))));A11;ЕСЛИ(ДЛСТР(A11)>1;A11&»,»;»,»)&ИНДЕКС(«»&СМЕЩ(Лист1!$A$3;;ПОИСКПОЗ(A9;Лист1!$1:$1;)-1;СЧЁТЗ(СМЕЩ(Лист1!A:A;;ПОИСКПОЗ(A9;Лист1!$1:$1;)-1)));1+ДЛСТР(A11)-ДЛСТР(ПОДСТАВИТЬ(A11;»,»;))));»,0,»;»,,») тысяч раз говорил сразу. уроки всех этихalisavzazerkaleHugo121Петрина александр 12:0/8:0, 8:0/8:0. Выглядит доп столбец день превращается вВот присылаю значения,какие Functionв виде ‘2.25 для извлечения доменныхF5 (или вторую, если двойные кавычки «».должны быть включены что ты прав.если будут строки, сложных формул! Спасибо!, вдогонку функция на: посчитайте своим решением: а что мешает очень коряво, ноISergey жопу бываютmyr — 3.34, 0,72; имён:
и в появившемся первая ячейка занятаВ этой статье Вы итеративные вычисления Еще я тебе в которых неgling VBA Function срб(x) среднее у 4/10 в одну ячейку с этим можно: если список несколько там такихячеек там около: Скрипт запустил что
0,54; 2,88,760=MID(C2,FIND(«:»,C2,»4″)+3,FIND(«/»,C2,9)-FIND(«:»,C2,»4″)-3) диалоговом окне заголовком), затем нажмите узнаете 2 самыхна ячейке с говорил что я будет ни «маш»,: Если задаваемый вопрос срб = Evaluate(«AVERAGE({«OLEGOFF положить одну формулу, мирится если бы очень большой и ячеек будет 1000 10к то работает что
надо привести это=ПСТР(C2;НАЙТИ(«:»;C2;»4″)+3;НАЙТИ(«/»;C2;9)-НАЙТИ(«:»;C2;»4″)-3)ПереходShift+Ctrl+End быстрых способа вставить
формулой F2->Enter , скорее всего смогу ни «коз», формула не связан с & Replace(WorksheetFunction.Trim(Replace(Join(WorksheetFunction.Index(x.Value, 1,: 7,а что не во вторую - не вылезла очередная редко изменяет размеры, максимум, а былои каждый пишет то нет попытаюсь все в вид
Нажмите(Go to) нажмите, чтобы выделить все в Excel одинаковую
зажать F9 оперировать основами VBA
обманет и глазом
темой «Как задать 0)), «/», «
так? вторую, а в проблема -
excelworld.ru
то вам поможет
Под выпадающим списком понимается содержание в одной ячейке нескольких значений. Когда пользователь щелкает по стрелочке справа, появляется определенный перечень. Можно выбрать конкретное.
Очень удобный инструмент Excel для проверки введенных данных. Повысить комфорт работы с данными позволяют возможности выпадающих списков: подстановка данных, отображение данных другого листа или файла, наличие функции поиска и зависимости.
Создание раскрывающегося списка
Путь: меню «Данные» — инструмент «Проверка данных» — вкладка «Параметры». Тип данных – «Список».
Ввести значения, из которых будет складываться выпадающий список, можно разными способами:
- Вручную через «точку-с-запятой» в поле «Источник».
- Ввести значения заранее. А в качестве источника указать диапазон ячеек со списком.
- Назначить имя для диапазона значений и в поле источник вписать это имя.
Любой из вариантов даст такой результат.
Выпадающий список в Excel с подстановкой данных
Необходимо сделать раскрывающийся список со значениями из динамического диапазона. Если вносятся изменения в имеющийся диапазон (добавляются или удаляются данные), они автоматически отражаются в раскрывающемся списке.
- Выделяем диапазон для выпадающего списка. В главном меню находим инструмент «Форматировать как таблицу».
- Откроются стили. Выбираем любой. Для решения нашей задачи дизайн не имеет значения. Наличие заголовка (шапки) важно. В нашем примере это ячейка А1 со словом «Деревья». То есть нужно выбрать стиль таблицы со строкой заголовка. Получаем следующий вид диапазона:
- Ставим курсор в ячейку, где будет находиться выпадающий список. Открываем параметры инструмента «Проверка данных» (выше описан путь). В поле «Источник» прописываем такую функцию:
Протестируем. Вот наша таблица со списком на одном листе:
Добавим в таблицу новое значение «елка».
Теперь удалим значение «береза».
Осуществить задуманное нам помогла «умная таблица», которая легка «расширяется», меняется.
Теперь сделаем так, чтобы можно было вводить новые значения прямо в ячейку с этим списком. И данные автоматически добавлялись в диапазон.
- Сформируем именованный диапазон. Путь: «Формулы» — «Диспетчер имен» — «Создать». Вводим уникальное название диапазона – ОК.
- Создаем раскрывающийся список в любой ячейке. Как это сделать, уже известно. Источник – имя диапазона: =деревья.
- Снимаем галочки на вкладках «Сообщение для ввода», «Сообщение об ошибке». Если этого не сделать, Excel не позволит нам вводить новые значения.
- Вызываем редактор Visual Basic. Для этого щелкаем правой кнопкой мыши по названию листа и переходим по вкладке «Исходный текст». Либо одновременно нажимаем клавиши Alt + F11. Копируем код (только вставьте свои параметры).
- Сохраняем, установив тип файла «с поддержкой макросов».
- Переходим на лист со списком. Вкладка «Разработчик» — «Код» — «Макросы». Сочетание клавиш для быстрого вызова – Alt + F8. Выбираем нужное имя. Нажимаем «Выполнить».
Private Sub Worksheet_Change(ByVal Target As Range) Dim lReply As Long If Target.Cells.Count > 1 Then Exit Sub If Target.Address = "$C$2" Then If IsEmpty(Target) Then Exit Sub If WorksheetFunction.CountIf(Range("Деревья"), Target) = 0 Then lReply = MsgBox("Добавить введенное имя " & _ Target & " в выпадающий список?", vbYesNo + vbQuestion) If lReply = vbYes Then Range("Деревья").Cells(Range("Деревья").Rows.Count + 1, 1) = Target End If End If End If End Sub
Когда мы введем в пустую ячейку выпадающего списка новое наименование, появится сообщение: «Добавить введенное имя баобаб в выпадающий список?».
Нажмем «Да» и добавиться еще одна строка со значением «баобаб».
Выпадающий список в Excel с данными с другого листа/файла
Когда значения для выпадающего списка расположены на другом листе или в другой книге, стандартный способ не работает. Решить задачу можно с помощью функции ДВССЫЛ: она сформирует правильную ссылку на внешний источник информации.
- Делаем активной ячейку, куда хотим поместить раскрывающийся список.
- Открываем параметры проверки данных. В поле «Источник» вводим формулу: =ДВССЫЛ(“[Список1.xlsx]Лист1!$A$1:$A$9”).
Имя файла, из которого берется информация для списка, заключено в квадратные скобки. Этот файл должен быть открыт. Если книга с нужными значениями находится в другой папке, нужно указывать путь полностью.
Как сделать зависимые выпадающие списки
Возьмем три именованных диапазона:
Это обязательное условие. Выше описано, как сделать обычный список именованным диапазоном (с помощью «Диспетчера имен»). Помним, что имя не может содержать пробелов и знаков препинания.
- Создадим первый выпадающий список, куда войдут названия диапазонов.
- Когда поставили курсор в поле «Источник», переходим на лист и выделяем попеременно нужные ячейки.
- Теперь создадим второй раскрывающийся список. В нем должны отражаться те слова, которые соответствуют выбранному в первом списке названию. Если «Деревья», то «граб», «дуб» и т.д. Вводим в поле «Источник» функцию вида =ДВССЫЛ(E3). E3 – ячейка с именем первого диапазона.
- Создаем стандартный список с помощью инструмента «Проверка данных». Добавляем в исходный код листа готовый макрос. Как это делать, описано выше. С его помощью справа от выпадающего списка будут добавляться выбранные значения.
- Чтобы выбранные значения показывались снизу, вставляем другой код обработчика.
- Чтобы выбираемые значения отображались в одной ячейке, разделенные любым знаком препинания, применим такой модуль.
- На вкладке «Разработчик» находим инструмент «Вставить» – «ActiveX». Здесь нам нужна кнопка «Поле со списком» (ориентируемся на всплывающие подсказки).
- Щелкаем по значку – становится активным «Режим конструктора». Рисуем курсором (он становится «крестиком») небольшой прямоугольник – место будущего списка.
- Жмем «Свойства» – открывается перечень настроек.
- Вписываем диапазон в строку ListFillRange (руками). Ячейку, куда будет выводиться выбранное значение – в строку LinkedCell. Для изменения шрифта и размера – Font.
Выбор нескольких значений из выпадающего списка Excel
Бывает, когда из раскрывающегося списка необходимо выбрать сразу несколько элементов. Рассмотрим пути реализации задачи.
Private Sub Worksheet_Change(ByVal Target As Range) On Error Resume Next If Not Intersect(Target, Range("Е2:Е9")) Is Nothing And Target.Cells.Count = 1 Then Application.EnableEvents = False If Len(Target.Offset(0, 1)) = 0 Then Target.Offset(0, 1) = Target Else Target.End(xlToRight).Offset(0, 1) = Target End If Target.ClearContents Application.EnableEvents = True End If End Sub
Private Sub Worksheet_Change(ByVal Target As Range) On Error Resume Next If Not Intersect(Target, Range("Н2:К2")) Is Nothing And Target.Cells.Count = 1 Then Application.EnableEvents = False If Len(Target.Offset(1, 0)) = 0 Then Target.Offset(1, 0) = Target Else Target.End(xlDown).Offset(1, 0) = Target End If Target.ClearContents Application.EnableEvents = True End If End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Not Intersect(Target, Range("C2:C5")) Is Nothing And Target.Cells.Count = 1 Then
Application.EnableEvents = False
newVal = Target
Application.Undo
oldval = Target
If Len(oldval) <> 0 And oldval <> newVal Then
Target = Target & "," & newVal
Else
Target = newVal
End If
If Len(newVal) = 0 Then Target.ClearContents
Application.EnableEvents = True
End If
End Sub
Не забываем менять диапазоны на «свои». Списки создаем классическим способом. А всю остальную работу будут делать макросы.
Выпадающий список с поиском
Скачать пример выпадающего списка
При вводе первых букв с клавиатуры высвечиваются подходящие элементы. И это далеко не все приятные моменты данного инструмента. Здесь можно настраивать визуальное представление информации, указывать в качестве источника сразу два столбца.
В одной ячейке можно отобразить 2 значения. На самом деле, это конечно будет одно текстовое значение, но визуально выглядит как два.
Предположим, что в одной ячейке нам хочется отобразить числовое значение и величину его изменения.
Пусть дана таблица
Продажи
и
Изменение объема продаж к предыдущему кварталу
(см.
файл примера
).
Создадим таблицу
Объем продаж и его изменение,
в ячейках которой будем отображать само значение продаж и его изменение.
Добиться такого результата можно с помощью формулы:
=C3&СИМВОЛ(10)&ТЕКСТ(C10;»+0,0%;-0,0%;0,0%»)
СИМВОЛ(10)
«Перевод строки» – заставляет отображаться следующее за ним текстовое значение на новой строке.
Формат
«+0,0%;-0,0%;0,0%»
в функции
ТЕКСТ()
задает отображение изменения объема продаж.
В формате ячейки должен быть установлен признак «Перенос текста» (см. вкладку Главная, группа Выравнивание), иначе вместо спецсимвола «Перевод строки» будет отображен квадратик с вопросиком, а текст будет выведен в одну строку.
Как сцепить несколько значений в одну ячейку по критерию? СцепитьЕсли
Все чаще вижу на разных форумах вопросы типа: Есть таблица, в одном столбце фамилии, в другом оценки(виды работ и т.д.) . Как сцепить в одной ячейке для каждой фамилии только принадлежащие ей оценки? Стандартными функциями это сделать весьма проблематично, т.к. заранее неизвестно сколько будет этих оценок и фамилий. Или собрать в одну ячейку через запятую фамилии всех сотрудников одного отдела, но все сотрудники идут вразнобой. Т.е. из такой таблицы:
Получить такую:
Вот и решил написать небольшую функцию пользователя на VBA, которая решает данную проблему. Так же подобную функцию называют «многоразовый ВПР«, потому что она по критерию возвращает ВСЕ значения для этого критерия, а не только первое.
‘————————————————————————————— ‘ Author : The_Prist(Щербаков Дмитрий) ‘ Профессиональная разработка приложений для MS Office любой сложности ‘ Проведение тренингов по MS Excel ‘ http://www.excel-vba.ru ‘ Purpose: ‘————————————————————————————— Function СцепитьЕсли(ByRef Диапазон As Range, ByVal Критерий As String, ByRef Диапазон_сцепления As Range, Optional Разделитель As String = » «, Optional БезПовторов As Boolean = False) As String Dim li As Long, sStr As String, avItem, avDateArr(), avRezArr(), lUBnd As Long If Диапазон.Count > 1 Then avDateArr = Intersect(Диапазон, Диапазон.Parent.UsedRange).Value avRezArr = Intersect(Диапазон_сцепления, Диапазон_сцепления.Parent.UsedRange).Value If Диапазон.Rows.Count = 1 Then avDateArr = Application.Transpose(avDateArr) avRezArr = Application.Transpose(avRezArr) End If Else ReDim avDateArr(1, 1): ReDim avRezArr(1, 1) avDateArr(1, 1) = Диапазон.Value avRezArr(1, 1) = Диапазон_сцепления.Value End If lUBnd = UBound(avDateArr, 1) ‘Определяем вхождение операторов сравнения в Критерий Dim objRegExp As Object, objMatches As Object Set objRegExp = CreateObject(«VBScript.RegExp») objRegExp.Global = False: objRegExp.Pattern = «=|<>|=>|>=| | 0 Then Dim sStrMatch As String sStrMatch = objMatches.Item(0) Критерий = Replace(Replace(Критерий, sStrMatch, «», 1, 1), Chr(34), «», 1, 2) If IsNumeric(Критерий) And Критерий <> «» Then Критерий = CDbl(Критерий) End If Select Case sStrMatch Case «=» For li = 1 To lUBnd If avDateArr(li, 1) = Критерий Then If Trim(avRezArr(li, 1)) <> «» Then _ sStr = sStr & IIf(sStr <> «», Разделитель, «») & avRezArr(li, 1) End If Next li Case «<>» For li = 1 To lUBnd If avDateArr(li, 1) <> Критерий Then If Trim(avRezArr(li, 1)) <> «» Then _ sStr = sStr & IIf(sStr <> «», Разделитель, «») & avRezArr(li, 1) End If Next li Case «>=», «=>» For li = 1 To lUBnd If avDateArr(li, 1) >= Критерий Then If Trim(avRezArr(li, 1)) <> «» Then _ sStr = sStr & IIf(sStr <> «», Разделитель, «») & avRezArr(li, 1) End If Next li Case » «» Then _ sStr = sStr & IIf(sStr <> «», Разделитель, «») & avRezArr(li, 1) End If Next li Case «>» For li = 1 To lUBnd If avDateArr(li, 1) > Критерий Then If Trim(avRezArr(li, 1)) <> «» Then _ sStr = sStr & IIf(sStr <> «», Разделитель, «») & avRezArr(li, 1) End If Next li Case » «» Then _ sStr = sStr & IIf(sStr <> «», Разделитель, «») & avRezArr(li, 1) End If Next li End Select Else ‘Если нет вхождения For li = 1 To lUBnd If avDateArr(li, 1) Like Критерий Then If Trim(avRezArr(li, 1)) <> «» Then _ sStr = sStr & IIf(sStr <> «», Разделитель, «») & avRezArr(li, 1) End If Next li End If If БезПовторов Then Dim oDict As Object, sTmpStr Set oDict = CreateObject(«Scripting.Dictionary») sTmpStr = Split(sStr, Разделитель) On Error Resume Next For li = LBound(sTmpStr) To UBound(sTmpStr) oDict.Add sTmpStr(li), sTmpStr(li) Next li sStr = «» sTmpStr = oDict.keys For li = LBound(sTmpStr) To UBound(sTmpStr) sStr = sStr & IIf(sStr <> «», Разделитель, «») & sTmpStr(li) Next li End If СцепитьЕсли = sStr End Function
Для применения функции в своем файле достаточно создать стандартный модуль (о том как создать стандартный модуль: Что такое модуль? Какие бывают модули?) и просто вставить приведенный код. После этого в диспетчере функций появиться новая категория (если до этого её не было) — Определенные пользователем (User Defined) . В ней эта функция — СцепитьЕсли.
Синтаксис:
=СцепитьЕсли( B5:B18 ; B5 ; C5:C18 ;»-«;0)
По принципу работы функция похожа на стандартную СУММЕСЛИ. Указывается диапазон значений(где просматривать значение), критерий и диапазон значений для сцепления. Символ для разделения слов указывать необязательно.
Диапазон (B5:B18) — диапазон, в котором искать критерий(указывается один столбец)
Критерий (B5) — критерий. Значение, на основании которого необходимо сцеплять значения. Может содержать символы подстановки — * и ? и символы сравнения ( <>«», 0, «<>«&A1 и т.п.). Просматривается Диапазон. При совпадении значения ячейки в Диапазоне значение из Диапазона_Сцепления добавляется к результату с выбранным разделителем.
Диапазон_сцепления (C5:C18) — из этого диапазона берется значение для сцепления, если значение в аргументе Диапазон совпадает с аргументом Критерий(указывается один столбец). Если в Диапазоне значение 5-ой строки совпадает с критерием, то из Диапазона_Сцепления будет взято так же значение из 5-ой строк этого диапазона и сцеплено с результатом.
Разделитель («-«) — По умолчанию пробел, но можно задать любой другой символ или группу символов.
БезПовторов — если указать 1 или ИСТИНА, то в результате получится строка, в которой нет одинаковых значений. Если указать 0 или ЛОЖЬ, то будут выведены все значения. По умолчанию значение ЛОЖЬ.
Примечание: для работы функции должны быть разрешены макросы
Пример СцепитьЕсли.xls (68,0 KiB, 9 926 скачиваний)
Статья помогла? Поделись ссылкой с друзьями!
Поиск по меткам
Макрос работает не корректно, в частности не распознает четырёхзначные значения (например поле «Все сотрудники, с окладом меньше или равным 15000» не указывает значение «Петрова Вера», пока вместо её оклада «6000» не вбить значение «06000»
Как отобразить несколько значений в одной ячейке в Excel
Я нахожусь относительно знаком с Excel и его функцией, но я новичок в VBA (я, однако, имею опыт работы в MATLAB и C). В основном то, что у меня есть лист с другой машине Заполнение заголовка каждого столбца и имя работника заполнения первого столбца. Таблица содержит текстовые значения либо «Поезда», указывая, что человек в этой строке обучаются на оборудовании в указанном столбце, или «Нет», указывая, что они не являются. То, что я хочу сделать, это сделать отдельный лист, который имеет оборудование в первой колонке и один столбец headered как «Обученные». Каждая ячейка теоретически может быть заселена с именами людей, которые обучаются на оборудовании для этой строки. У меня есть для кода петли в VBA, который успешно выводит имена в немедленном окне
но я не смог в течение нескольких часов поиска, чтобы выяснить, как отобразить эти значения в одной ячейке. Это возможно?
Вы должны выбрать, если вы хотите сделать «Для каждого человека, для каждой машины» или «для каждой машины, для каждого человека» в первую очередь. Предположим, вы хотите пойти со второй идеей, вы могли бы пойти с этим псевдо-код:
Это основная идея. Для лучшего представления, я хотел бы сделать все эти операции в некоторых массивах и вставить их в одну операцию.
Используйте оператор конкатенации ( & ) , чтобы собрать значения в строку:
Тогда просто поместить имена их в любой клетки вы хотите.
Как в Excel объединить текст из двух и нескольких ячеек в одну
Объединение текста нескольких ячеек в одну – базовая функция при работе с табличными данными, с ее п.
Объединение текста нескольких ячеек в одну – базовая функция при работе с табличными данными, с ее помощью содержание произвольного количества полей можно сцеплять нужным образом и размещать в свободных ячейках. Она используется при составлении пофамильных списков сотрудников, отчетов различных направлений и других операциях с большими массивами информации. Для объединения ячеек есть два способа: с потерей данных и без потери. В первом случае в объединенной ячейке остается только одно значение, во втором – сохраняется весь текст. Второй способ предполагает как минимум четыре варианта объединения: с использованием двух функций («Сцеп-сцепить» и «Объединить»), при помощи символа амперсанд и с применением макроса. В статье подробно разберемся, как в Excel объединить текст нескольких ячеек в одну.
С помощью функции
Excel предусматривает несколько функций для объединения ячеек. Для начала, расскажем о самой простой и «теряющей» информацию. Если интересует, как в Экселе соединить текст из двух ячеек в одну, оставив только одно значение – то вам понадобится функция «объединить» в разделе «Формат ячейки».
- Выделите мышкой ячейки, которые нужно объединить.
- По образовавшемуся полю щелкните правой кнопкой мыши.
- Выберите пункт «Формат ячеек».
- В появившемся окне зайдите в раздел «Выравнивание».
- Отметьте галочкой пункт «Объединить ячейки» и нажмите «Ок». Выделенные поля объединяться в одну большую с сохранением содержания первой ячейки.
Также эта функция есть в графе «Главная» в разделе «Выравнивание» в верхней части экрана.
С помощью функции «Сцеп-сцепить»
В ранних версиях Excel для объединения текста ячеек применялась функция «Сцепить», в новых вариантах программы ее заменили функцией «Сцеп». Для ее использования:
- Щелкните по пустой ячейке в Excel.
- Поставьте знак «=» и большими буквами введите «Сцепить» либо «Сцеп».
- В скобках после формулы кликните по ячейке, которая должна быть первой в объединенной ячейке, либо введите ее адрес вручную (например, A1). Затем поставьте точку с запятой, после щелкните или напишите вторую ячейку. Затем поставьте точку с запятой и отметьте третье поле. После перечисления адресов нажмите «Enter». В поле, где вбивали формулу, появится объединенный текст. Он появится без пробелов между текстовыми блоками. Чтобы этого избежать, отбейте пробел в каждой отдельно взятой ячейке после находящегося текста, либо после адреса ячейки в формуле добавьте пробел вручную, написав « » (пробел в кавычках). Пробел в формуле также отделяется от остальных элементов точкой с запятой.
Как в Экселе соединить текст из двух ячеек в одну с помощью функции «Объединить»
«Объединить» — усовершенствованная вариация функции «Сцеп». Ее отличие в том, что параметры вводятся единожды на этапе написания функции. В частности, разделитель придется указать один раз для содержимого всех ячеек. Для того чтобы воспользоваться функцией «Объединить» нужно выполнить действия:
- В пустой ячейке поставьте знак «=» и напишите большими буквами «Объединить».
- В скобках после формулы укажите разделитель в кавычках (« » ,«,»,« и »), затем поставьте точку с запятой. Второй параметр формулы – это игнорирование пустых полей. Если они не должны учитываться в формуле, напишите «1», в ряде версий этот параметр обозначается словом «Истина» или «Ложь». Затем перечислите через запятую ячейки, которые нужно объединить, и нажмите «Enter».
В итоге формула должна иметь вид: «=ОБЪЕДИНИТЬ(« »;ИСТИНА; «A1»; «A2»; «A3»).
Если в A1 – «Иванов», в А2 – «Иван», в А3 – «Иванович», то после нажатия «Enter» в пустой ячейке появится «Иванов Иван Иванович».
С помощью символа «&»
Четвертый способ объединить ячейки – использовать амперсанд ( «&»). Для этого:
- В пустой ячейке наберите «=».
- Напишите нужную ячейку, например, А1, затем поставьте знак «&», потом в кавычках введите разделитель. Это может быть пробел или запятая, он также помещается в кавычки, потом введите вторую ячейку, которую нужно объединить. Если их больше двух, пробел выставите после каждой нового поля. Формула должна выглядеть так: «=А1&« »&А2& « »&А3». После нажатия «Enter» содержимое ячеек объединится.
С помощью макроса
Макрос в Excel – это сервис для автоматизации повторяющихся действий, он представляет собой записанную последовательность примененных функций и щелчков мышью для последующего воспроизводства. Используется, если нужно регулярно выполнять типовые задачи, в которых меняются данные, но не структура. Например, макросы используются при составлении ежемесячных отчетов о заработной плате, в которых меняются только цифры, но не метод расчета. Тогда макрос избавит пользователя от необходимости регулярно вручную настраивать и использовать формулы.
Чтобы записать макрос:
- В разделе «Разработчик» в графе «Код» нажмите на клавишу «Записать макрос».
- В появившемся окне выберите имя макроса, чтобы потом было удобнее его искать, присвойте ему сочетание клавиш и место хранения, добавьте описание.
- Нажмите «Ок», затем точно и без ошибок (потому что макрос записывает и ошибки тоже) проделайте алгоритм.
- Вернитесь во вкладку «Разработчик» и «Код» и нажмите «Остановить запись».
Макрос записывается в виде кода Visual Basic для приложений на одноименном языке программирования, который доступен для редактирования при нажатии комбинации ALT + F11. При ручном редактировании становится доступным правка записанного макроса, однако это требует дополнительных знаний и недоступно для рядового пользователя. Также макросы способны работать в нескольких продуктах Microsoft Office одновременно. Выполняется макрос нажатием присвоенной комбинации либо через окно «Макрос», которое вызывается комбинацией ALT + F8.
Данные из нескольких ячеек в одну
- 4 Июнь, 2015 —
- Уроки Excel —
- Tags :
- 0 Comments
Есть несколько способов поместить данные из нескольких ячеек в одну.
Самый простой — это использовать знак &,
Если между данными ячеек нужны пробелы или другие знаки, их можно проставить в отдельном столбце, потом их просто скрыть (в примере в ячейке С2 стоит пробел).
Есть более легкий способ — использовать формулу, чтобы не тыркать кажду ячейку вручную. Это формула СЦЕПИТЬ
Этот способ хорош, если не нужно объединять большие диапазоны данных.
Если нужно объединить данные из большого количества ячеек, расположенных в одном или в нескольких столбцах, проще всего использовать макросы. Для этого находясь в том файле, где нужно разместить в одной ячейке данные и других ячеек надо нажать Alt+F11. Откроется окно макросов. Там надо выбрать пункт Insert, в выпавшем списке пункт Module
и в открывшемся белом поле вставить следующие макрос
Function СЦЕПДИАП_A(Диапазон As Variant, Optional Разделитель As String = » «, _
Optional ПоСтолбцам As Boolean = False, Optional сПереносом As Boolean = False) As String
‘—————————————————————————————
‘ Author : RAN
‘ Purpose : Сцепляет текст ячеек из заданного диапазона
‘ Notes : Разделитель по умолчанию » »
‘ Notes : Optional ПоСтолбцам — просмотр по строкам(умолчание) и по столбцам
‘ Notes : Optional сПереносом по умолчанию — «нет»
‘—————————————————————————————
Dim i&, j&, k&, arr
If сПереносом Then
If Разделитель <> » » Then
Разделитель = Разделитель & vbLf
Else
Разделитель = vbLf
End If
End If
If TypeName(Диапазон) = «Range» Then Диапазон = Диапазон.Value
If Not IsArray(Диапазон) Then СЦЕПДИАП_A = Диапазон: Exit Function
ReDim arr(1 To UBound(Диапазон, 1) * UBound(Диапазон, 2))
If ПоСтолбцам Then
For i = 1 To UBound(Диапазон, 2)
For j = 1 To UBound(Диапазон, 1)
If Len(Диапазон(j, i)) Then k = k + 1: arr(k) = Диапазон(j, i)
Next: Next
Else
For j = 1 To UBound(Диапазон, 1)
For i = 1 To UBound(Диапазон, 2)
If Len(Диапазон(j, i)) Then k = k + 1: arr(k) = Диапазон(j, i)
Next: Next
End If
ReDim Preserve arr(1 To k)
СЦЕПДИАП_A = Join(arr, Разделитель)
СЦЕПДИАП_A = Application.Trim(СЦЕПДИАП_A)
End Function
Далее вернуться к странице excel и там в нужной ячейке вписать формулу =СЦЕПДИАП_A(ваш диапазон)
Функции Excel ЕСЛИ (IF) и ЕСЛИМН (IFS) для нескольких условий
Логическая функция ЕСЛИ в Экселе – одна из самых востребованных. Она возвращает результат (значение или другую формулу) в зависимости от условия.
Функция ЕСЛИ в Excel
Функция имеет следующий синтаксис.
ЕСЛИ(лог_выражение; значение_если_истина; [значение_если_ложь])
лог_выражение – это проверяемое условие. Например, A2 30) не выполняется и возвращается альтернативное значение, указанное в третьем поле. В этом вся суть функции ЕСЛИ. Протягивая расчет вниз, получаем результат по каждому товару.
Однако это был демонстрационный пример. Чаще формулу Эксель ЕСЛИ используют для более сложных проверок. Допустим, есть средненедельные продажи товаров и их остатки на текущий момент. Закупщику нужно сделать прогноз остатков через 2 недели. Для этого нужно от текущих запасов отнять удвоенные средненедельные продажи.
Пока все логично, но смущают минусы. Разве бывают отрицательные остатки? Нет, конечно. Запасы не могут быть ниже нуля. Чтобы прогноз был корректным, нужно отрицательные значения заменить нулями. Здесь отлично поможет формула ЕСЛИ. Она будет проверять полученное по прогнозу значение и если оно окажется меньше нуля, то принудительно выдаст ответ 0, в противном случае — результат расчета, т.е. некоторое положительное число. В общем, та же логика, только вместо значений используем формулу в качестве условия.
В прогнозе запасов больше нет отрицательных значений, что в целом очень неплохо.
Формулы Excel ЕСЛИ также активно используют в формулах массивов. Здесь мы не будем далеко углубляться. Заинтересованным рекомендую прочитать статью о том, как рассчитать максимальное и минимальное значение по условию. Правда, расчет в той статье более не актуален, т.к. в Excel 2016 появились функции МИНЕСЛИ и МАКСЕСЛИ. Но для примера очень полезно ознакомиться – пригодится в другой ситуации.
Формула ЕСЛИ в Excel – примеры нескольких условий
Довольно часто количество возможных условий не 2 (проверяемое и альтернативное), а 3, 4 и более. В этом случае также можно использовать функцию ЕСЛИ, но теперь ее придется вкладывать друг в друга, указывая все условия по очереди. Рассмотрим следующий пример.
Нескольким менеджерам по продажам нужно начислить премию в зависимости от выполнения плана продаж. Система мотивации следующая. Если план выполнен менее, чем на 90%, то премия не полагается, если от 90% до 95% — премия 10%, от 95% до 100% — премия 20% и если план перевыполнен, то 30%. Как видно здесь 4 варианта. Чтобы их указать в одной формуле потребуется следующая логическая структура. Если выполняется первое условие, то наступает первый вариант, в противном случае, если выполняется второе условие, то наступает второй вариант, в противном случае если… и т.д. Количество условий может быть довольно большим. В конце формулы указывается последний альтернативный вариант, для которого не выполняется ни одно из перечисленных ранее условий (как третье поле в обычной формуле ЕСЛИ). В итоге формула имеет следующий вид.
Комбинация функций ЕСЛИ работает так, что при выполнении какого-либо указанно условия следующие уже не проверяются. Поэтому важно их указать в правильной последовательности. Если бы мы начали проверку с B2 =1. Однако этого можно избежать, если в поле с условием написать ИСТИНА, указывая тем самым, что, если не выполняются ранее перечисленные условия, наступает ИСТИНА и возвращается последнее альтернативное значение.
Теперь вы знаете, как пользоваться функцией ЕСЛИ в Excel, а также ее более современным вариантом для множества условий ЕСЛИМН.
Хитрости »
1 Май 2011 163982 просмотров
Как сцепить несколько значений в одну ячейку по критерию? СцепитьЕсли
Все чаще вижу на разных форумах вопросы типа: Есть таблица, в одном столбце фамилии, в другом оценки(виды работ и т.д.). Как сцепить в одной ячейке для каждой фамилии только принадлежащие ей оценки? Или собрать в одну ячейку через запятую фамилии всех сотрудников одного отдела, но все сотрудники идут вразнобой. Т.е. из такой таблицы:
Получить такую:
Стандартными функциями это сделать весьма проблематично, т.к. заранее неизвестно сколько будет этих оценок и фамилий.. MIcrosoft работает над усовершенствованием Excel и теперь стало возможным сделать это и стандартными функциями. Правда, с небольшими ограничениями: сделать это могут только пользователи Excel 2019 и выше или Office 365 по подписке. В итоге счастливые обладатели новейших версий могут использовать достаточно несложные формулы:
=ОБЪЕДИНИТЬ(«; «;1;ФИЛЬТР(B2:B20;A2:A20=A2;»»))
=TEXTJOIN(«; «,1,FILTER(B2:B20,A2:A20=A2,»»))
Аргументы функции:
- («; «) — символ(или несколько символов), которым необходимо объединять найденные значения
- (A2:A20) — диапазон, в котором искать критерий
- (A2) — критерий. Значение, на основании которого необходимо сцеплять значения. Значение просматривается в диапазоне значений(A2:A20)
- (B2:B20) — из этого диапазона берется значение для сцепления, если значение напротив в диапазонe(A2:A20) совпадает с искомым значением A2
Для любителей «старой школы» можно вместо функции ФИЛЬТР(FILTER) использовать стандартную ЕСЛИ(IF):
=ОБЪЕДИНИТЬ(«; «;1;ЕСЛИ(A2:A20=A2;B2:B20;»»))
=TEXTJOIN(«; «,1,IF(A2:A20=A2,B2:B20,»»))
так же это можно использовать в Excel 2019 в случае, если функция ФИЛЬТР отсутствует — да, может быть и такое, хоть Microsoft и пишет, что она там поддерживается
Аргументы точно такие же, как в формуле выше. Правда эта формула вводится в ячейку как формула массива(т.е. одновременным нажатием трех клавиш Ctrl+Shift+Enter).
Хотя в самых новых версия(а-ля 365) вводить тремя клавишами уже не обязательно — Excel сам поймет, что требуется обработка массива ячеек.
А для пользователей Excel 2016 и ниже я написал небольшую функцию пользователя на VBA, которая решает данную проблему. Так же подобную функцию называют «многоразовый ВПР«, потому что она по критерию возвращает ВСЕ значения для этого критерия, а не только первое.
'--------------------------------------------------------------------------------------- ' Author : The_Prist(Щербаков Дмитрий) ' Профессиональная разработка приложений для MS Office любой сложности ' Проведение тренингов по MS Excel ' http://www.excel-vba.ru ' Purpose: '--------------------------------------------------------------------------------------- Function СцепитьЕсли(ByRef Диапазон As Range, ByVal Критерий As String, ByRef Диапазон_сцепления As Range, Optional Разделитель As String = " ", Optional БезПовторов As Boolean = False) As String Dim li As Long, sStr As String, avItem, avDateArr(), avRezArr(), lUBnd As Long If Диапазон.Count > 1 Then avDateArr = Intersect(Диапазон, Диапазон.Parent.UsedRange).Value avRezArr = Intersect(Диапазон_сцепления, Диапазон_сцепления.Parent.UsedRange).Value If Диапазон.Rows.Count = 1 Then avDateArr = Application.Transpose(avDateArr) avRezArr = Application.Transpose(avRezArr) End If Else ReDim avDateArr(1, 1): ReDim avRezArr(1, 1) avDateArr(1, 1) = Диапазон.Value avRezArr(1, 1) = Диапазон_сцепления.Value End If lUBnd = UBound(avDateArr, 1) 'Определяем вхождение операторов сравнения в Критерий Dim objRegExp As Object, objMatches As Object Set objRegExp = CreateObject("VBScript.RegExp") objRegExp.Global = False: objRegExp.Pattern = "=|<>|=>|>=|<=|=<|>|<" Set objMatches = objRegExp.Execute(Критерий) 'Если есть вхождения If objMatches.Count > 0 Then Dim sStrMatch As String sStrMatch = objMatches.Item(0) Критерий = Replace(Replace(Критерий, sStrMatch, "", 1, 1), Chr(34), "", 1, 2) If IsNumeric(Критерий) And Критерий <> "" Then Критерий = CDbl(Критерий) End If Select Case sStrMatch Case "=" For li = 1 To lUBnd If avDateArr(li, 1) = Критерий Then If Trim(avRezArr(li, 1)) <> "" Then _ sStr = sStr & IIf(sStr <> "", Разделитель, "") & avRezArr(li, 1) End If Next li Case "<>" For li = 1 To lUBnd If avDateArr(li, 1) <> Критерий Then If Trim(avRezArr(li, 1)) <> "" Then _ sStr = sStr & IIf(sStr <> "", Разделитель, "") & avRezArr(li, 1) End If Next li Case ">=", "=>" For li = 1 To lUBnd If avDateArr(li, 1) >= Критерий Then If Trim(avRezArr(li, 1)) <> "" Then _ sStr = sStr & IIf(sStr <> "", Разделитель, "") & avRezArr(li, 1) End If Next li Case "<=", "=<" For li = 1 To lUBnd If avDateArr(li, 1) <= Критерий Then If Trim(avRezArr(li, 1)) <> "" Then _ sStr = sStr & IIf(sStr <> "", Разделитель, "") & avRezArr(li, 1) End If Next li Case ">" For li = 1 To lUBnd If avDateArr(li, 1) > Критерий Then If Trim(avRezArr(li, 1)) <> "" Then _ sStr = sStr & IIf(sStr <> "", Разделитель, "") & avRezArr(li, 1) End If Next li Case "<" For li = 1 To lUBnd If avDateArr(li, 1) < Критерий Then If Trim(avRezArr(li, 1)) <> "" Then _ sStr = sStr & IIf(sStr <> "", Разделитель, "") & avRezArr(li, 1) End If Next li End Select Else 'Если нет вхождения For li = 1 To lUBnd If avDateArr(li, 1) Like Критерий Then If Trim(avRezArr(li, 1)) <> "" Then _ sStr = sStr & IIf(sStr <> "", Разделитель, "") & avRezArr(li, 1) End If Next li End If If БезПовторов Then Dim oDict As Object, sTmpStr Set oDict = CreateObject("Scripting.Dictionary") sTmpStr = Split(sStr, Разделитель) On Error Resume Next For li = LBound(sTmpStr) To UBound(sTmpStr) oDict.Add sTmpStr(li), sTmpStr(li) Next li sStr = "" sTmpStr = oDict.keys For li = LBound(sTmpStr) To UBound(sTmpStr) sStr = sStr & IIf(sStr <> "", Разделитель, "") & sTmpStr(li) Next li End If СцепитьЕсли = sStr End Function
Чтобы правильно использовать приведенный код, необходимо сначала ознакомиться со статьей Что такое функция пользователя(UDF)?. Вкратце: скопировать текст кода выше, перейти в редактор VBA(Alt+F11) -создать стандартный модуль(Insert —Module) и в него вставить скопированный текст. После чего функцию СцепитьЕсли можно будет вызвать из Диспетчера функций(Shift+F3), отыскав её в категории Определенные пользователем (User Defined Functions).
Синтаксис записи в ячейку листа:
=СцепитьЕсли(A2:A20;A2;B2:B20;»-«;0)
По принципу работы функция похожа на стандартную СУММЕСЛИ. Указывается диапазон значений(где просматривать значение), критерий и диапазон значений для сцепления. Символ для разделения слов указывать необязательно.
Диапазон(A2:A20) — диапазон, в котором искать критерий(указывается один столбец)
Критерий(A2) — критерий. Значение, на основании которого необходимо сцеплять значения. Может содержать символы подстановки — * и ? и символы сравнения (<>»», <23, >0, «<>»&A1 и т.п.). Просматривается Диапазон. При совпадении значения ячейки в Диапазоне значение из Диапазона_Сцепления добавляется к результату с выбранным разделителем.
Диапазон_сцепления(B2:B20) — из этого диапазона берется значение для сцепления, если значение в аргументе Диапазон совпадает с аргументом Критерий(указывается один столбец). Если в Диапазоне значение 5-ой строки совпадает с критерием, то из Диапазона_Сцепления будет взято так же значение из 5-ой строк этого диапазона и сцеплено с результатом.
Разделитель(«-«) — По умолчанию пробел, но можно задать любой другой символ или группу символов.
БезПовторов — если указать 1 или ИСТИНА, то в результате получится строка, в которой нет одинаковых значений. Если указать 0 или ЛОЖЬ, то будут выведены все значения. По умолчанию значение ЛОЖЬ.
Примечание: для работы функции должны быть разрешены макросы
Скачать пример
Пример СцепитьЕсли.xls (68,0 KiB, 15 624 скачиваний)
Также см.:
ВПР_МН
Сцепить_МН
СцепитьЕсли
Что такое функция пользователя(UDF)?
ВПР с возвратом всех значений
Статья помогла? Поделись ссылкой с друзьями!
Видеоуроки
Поиск по меткам
Access
apple watch
Multex
Power Query и Power BI
VBA управление кодами
Бесплатные надстройки
Дата и время
Записки
ИП
Надстройки
Печать
Политика Конфиденциальности
Почта
Программы
Работа с приложениями
Разработка приложений
Росстат
Тренинги и вебинары
Финансовые
Форматирование
Функции Excel
акции MulTEx
ссылки
статистика