Excel функция внутри ячейки

Содержание

  1. Извлечение информации о ячейке функцией ЯЧЕЙКА (CELL)
  2. Дубликаты внутри ячейки
  3. Способ 1. Ищем повторения: текст по столбцам и формула массива
  4. Способ 2. Выделение цветом повторов внутри ячейки макросом
  5. Способ 3. Выводим повторы в соседний столбец
  6. Способ 4. Удаление повторов внутри ячейки макросом
  7. Способ 5. Удаление повторов внутри ячейки через Power Query
  8. Несколько функций в одной ячейке в excel
  9. Функция ЕСЛИ — вложенные формулы и типовые ошибки
  10. Технические подробности
  11. Примечания
  12. Примеры
  13. Дополнительные примеры
  14. Вы знали?
  15. См. также:
  16. Объединение значений нескольких ячеек в одну текстовую строку в EXCEL
  17. Несколько функций в одной ячейке (Формулы)
  18. Две формулы в одной ячейке.
  19. 3 способа склеить текст из нескольких ячеек
  20. Способ 1. Функции СЦЕПИТЬ, СЦЕП и ОБЪЕДИНИТЬ
  21. Способ 2. Символ для склеивания текста (&)
  22. Способ 3. Макрос для объединения ячеек без потери текста.
  23. Написания нескольких формул в одной ячейке (Формулы)
  24. Несколько условий ЕСЛИ в одной ячейке

Извлечение информации о ячейке функцией ЯЧЕЙКА (CELL)

Иногда бывает необходимо с помощью формул узнать о какой-либо ячейке подробную информацию и параметры, чтобы использовать это в расчетах. Например, выяснить число или текст в ячейке или какой числовой формат в ней установлен. Сделать это можно, используя функцию ЯЧЕЙКА (CELL) .

Синтаксис у функции следующий:

=ЯЧЕЙКА( Параметр ; Адрес )

где Адрес — это, понятное дело, ссылка на нужную ячейку, а вот Параметр — это кодовое слово, определяющее какую именно информацию о ячейке мы хотим получить. У этого аргумента несколько возможных значений:

Давайте рассмотрим пару трюков с применением этой функции на практике.

Например, можно получить имя текущего листа формулой, используя функцию ЯЧЕЙКА с параметром «имяфайла» и извлекающей все символы правее закрывающей квадратной скобки:

Также можно проверить тип данных в ячейке (параметр «тип») и выводить сообщение об ошибке вместо вычислений, если введен текст или ячейка пуста:

Или подсветить условным форматированием все незащищенные ячейки в заданном диапазоне:

Источник

Дубликаты внутри ячейки

Про поиск и подсветку дубликатов в разных ячейках и диапазонах я уже не раз писал, но что делать если нужно найти и, возможно, удалить повторяющиеся слова внутри ячейки? Например, мы имеем вот такую таблицу с данными (разделителями могут быть не обязательно пробелы):

Хорошо видно, что некоторые имена в списках внутри ячеек повторяются. Давайте посмотрим, что можно с этим сделать.

Способ 1. Ищем повторения: текст по столбцам и формула массива

Это не самый удобный и быстрый, но зато самый простой вариант решения задачи «на коленке». Выделим исходный список и разобъем его на столбцы по пробелам с помощью команды Данные — Текст по столбцам (Data — Text to columns) . В открывшемся окне трёхшагового Мастера выберем формат По разделителю (By delimiter) на первом шаге и поставим флажок Пробел (Space) на втором:

Если в исходных данных могут быть лишние пробелы, то лучше включить и опцию Считать последовательные разделители одним (Treat consecutive delimiters as one) — это избавит нас от лишних столбцов.

На третьем шаге в поле Поместить в зададим пустую ячейку рядом с таблицей, чтобы результаты не затёрли нам исходные данные и нажмём на Готово (Finish) :

Наши данные разделятся по ячейкам. Останется подсчитать количество повторов в каждой строке с помощью небольшой, но хитрой формулы массива:

В английской версии это будет =SUMPRODUCT(N(COUNTIF(B2:G2,B2:G2)>1))

Давайте разберём логику её работы на примере первой строки.

  1. Сначала мы с помощью формулы СЧЁТЕСЛИ( B2:G2 ; B2:G2 ) вычисляем по очереди количество вхождений каждого имени в диапазон B2:G2 и получаем на выходе массив <1,2,1,2,1>, т.к. Иван встречается в первой строке 1 раз, Елена — 2 раза, Сергей — 1 и т.д.
  2. Проверяем с помощью СЧЁТЕСЛИ(B2:G2;B2:G2) >1 какие из полученных чисел больше единицы, т.е. где у нас повторы. На выходе эта формула выдаст нам массив результатов проверки в виде .
  3. Переводим логические значения ЛОЖЬ и ИСТИНА в более удобные для подсчета 0 и 1, соответственно, с помощью функции Ч. На выходе получаем массив <0,1,0,1,0>.
  4. Суммируем все элементы получившегося массива функцией СУММПРОИЗВ. Можно было бы использовать и обычную функцию СУММ, но тогда пришлось бы жать вместо привычного Enter сочетание клавиш Ctrl + Shift + Enter , чтобы ввести формулу как формулу массива.

По получившемуся столбцу можно легко отфильтровать строки с повторами и работать потом с ними дальше уже вручную.

Минусы такого способа, впрочем, весьма очевидны: при изменении в исходных данных придётся повторять всю процедуру заново, дубликаты не очень заметны и удалять их тоже надо врукопашную. Поэтому идём дальше.

Способ 2. Выделение цветом повторов внутри ячейки макросом

Если дубликаты нужно именно наглядно показать, то удобнее будет использовать для этого специальный макрос. Откроем редактор Visual Basic одноимённой кнопкой на вкладке Разработчик (Developer — Visual Basic) или сочетанием клавиш Alt + F11 . Вставим в книгу новый пустой модуль через меню Insert — Module и скопируем туда вот такой код:

Теперь можно вернуться в главное окно Excel, выделить ячейки с текстом и запустить созданный макрос через кнопку Макросы на вкладке Разработчик (Developer — Macros) или сочетанием клавиш Alt + F8 . Этот макрос проходит по всем выделенным ячейкам и помечает повторения красным цветом шрифта прямо внутри ячейки:

Если нужно, чтобы цветом выделялись только клоны, но не первые вхождения (т.е. только вторая и третья, но не первая Алиса, например), то достаточно будет просто убрать из кода строку 20.

Способ 3. Выводим повторы в соседний столбец

Если повторы внутри ячеек нужно не просто подсветить, а явным образом вывести, например, в соседний столбец, то удобнее будет использовать для этого макрофункцию, созданную по образу предыдущего макроса. Добавим в редакторе Visual Basic новый модуль и вставим туда код нашей функции GetDuplicates:

Эта функция, как легко догадаться, принимает в качестве единственного аргумента ячейку с текстом и выводит в качестве результата все повторы, которые там найдет:

Способ 4. Удаление повторов внутри ячейки макросом

Если нужно просто удалить дубликаты внутри ячейки, чтобы все оставшиеся там слова не повторялись, то макрос будет похож на предыдущий, но попроще:

Способ 5. Удаление повторов внутри ячейки через Power Query

Этот способ использует бесплатную надстройку Excel для обработки данных под названием Power Query. Для Excel 2010-2013 скачать её можно с сайта Microsoft, а в Excel 2016-2019 она уже встроена по умолчанию. Огромным плюсом этого варианта является возможность автоматического обновления — если в будущем исходные данные изменятся, то нам не придется заново проделывать всю обработку (как в Способе 1) или запускать макрос (как в Способе 4) — достаточно будет просто обновить созданный запрос.

Сначала наши данные нужно загрузить в Power Query. Проще всего для этого превратить нашу таблицу в «умную» сочетанием клавиш Ctrl + T или кнопкой Форматировать как таблицу на вкладке Главная (Home — Format as Table) , а затем нажать кнопку Из таблицы/диапазона (From table/range) на вкладке Power Query (если у вас Excel 2010-2013) или на вкладке Данные (если у вас Excel 2016 или новее):

Поверх окна Excel откроется окно редактора запросов Power Query с загруженными туда нашими данными:

Дальше делаем следующую цепочку действий:

Удаляем ненужный пока шаг Измененный тип (Changed Type) справа в панели применённых шагов с помощью крестика слева от шага.

Чтобы можно было потом идентифицировать принадлежность каждого имени к исходной строке — добавляем столбец с нумерацией строк на вкладке Добавление столбца — Столбец индекса — От 1 (Add Column — Index Column — From 1) :

Выделяем столбец с именами и жмём на вкладке Преобразование — Разделить столбец — По разделителю (Transform — Split Column — By delimiter) , а в открывшемся окне выбираем деление по каждому пробелу и — главное — деление на строки, а не на столбцы в расширенных параметрах:

После нажатия на ОК увидим следующее:

Теперь выделяем оба столбца (удерживая клавишу Ctrl или Shift ) и удаляем дубликаты через Главная — Удалить строки — Удалить дубликаты (Home — Remove Rows — Remove Duplicates) .

Осталось собрать всё обратно в ячейки 🙂 Для этого выделим столбец Индекс и используем команду Группировать по на вкладке Преобразование (Transform — Group By) со следующими параметрами:

После нажатия на ОК наши имена сгруппируются во вложенные таблицы, имитирующие начальные ячейки — только уже без повторов. Увидеть содержимое свёрнутых таблиц можно, если щёлкнуть мышью в фон ячейки рядом со словом Table (но не в слово Table!):

Осталось вытащить все имена из первой колонки каждой таблицы и склеить их через пробел. Это можно сделать с помощью небольшой формулы на встроенном в Power Query языке М. Выберем на вкладке Добавление столбца команду Настраиваемый столбец (Add Column — Custom Column) и введём в открывшееся окно имя нового столбца и формулу (с соблюдением регистра!):

Здесь выражение [Ячейки][Имена] извлекает содержимое столбца Имена из каждой таблицы в колонке Ячейки, а функция Text.Combine склеивает затем их все через заданный разделитель (пробел). После нажатия на ОК мы, наконец, увидим желаемое:

Осталось удалить ненужные более столбцы Индекс и Ячейки, щелкнув по их заголовкам правой кнопкой мыши и выбрав команду Удалить столбцы (Remove Columns) и выгрузить результаты на лист через Главная — Закрыть и загрузить — Закрыть и загрузить в (Home — Close & Load — Close & Load to..) :

Задача решена! Если в будущем данные в исходной «умной» таблице изменятся или к ней будут дописаны новые строки, то достаточно будет просто обновить запрос, щёлкнув по результирующей зелёной таблице правой кнопкой мыши и выбрав команду Обновить или нажав сочетание клавиш Ctrl + Alt + F5 .

Источник

Несколько функций в одной ячейке в excel

Функция ЕСЛИ — вложенные формулы и типовые ошибки

​Смотрите также​ нужна.лож равна Е6.​ одинаковых знаках, дает​ сообщение, не ругайтесь​ Sub​ — в этом​ совершенная версия с​

​ формулы все почти​ и J. Разобрался.​ ячейки не так​ остаток;​

​ примера). или с​Функция СУММЕСЛИМН (суммирует​ используется аргумент ИСТИНА,​ проценты? У вас​ нужно переписать с​ их правильную отработку​

​Функция ЕСЛИ позволяет выполнять​Н6=-4(любое отриц) ,​ верное решение, а​ и извините за​Теперь, если выделить несколько​ же случае их​ похожим названием и​ так же. Не​ Формула ЕСЛИ(K4=Т(K4);0;B4+F4-K4) дает​ работают. Например, ввожу​I — расход.​ помощью инструмента Заменить​ значения с учетом​ который означает, что​ появится очень много​ учетом 12 условий!​ по каждому условию​

​ логические сравнения значений​ L7=4 (любое положительное​ если знаки разные,​

Технические подробности

​ дубляж. Просто весь​ ячеек и запустить​ надо ставить вручную.​ тем же синтаксисом​ устраивает один момент.​ то, что надо.​

​Формула работает как​

​ на протяжении всей​​ и ожидаемых результатов.​

​ вечер потратил, а​​ этот макрос с​

​Вот, например, как можно​

​ — функция​ Если в ячейке​​ Но в ячейке​​ К9, а потом​

​ надо. Есть желание​​CTRL+H​

​ близкое совпадение. Иначе​Совет:​​ выглядеть ваша формула:​​ цепочки. Если при​

Примечания

​ Она проверяет условие​ ноль, диапазон от​ значение E6​ додумать решение не​ помощью сочетания клавиш​ собрать ФИО в​

​СЦЕП (CONCAT)​ К4 нет никаких​ К нет текста.​ удаляю его. Сумма​ воспользоваться функцией ЕСЛИ,​, чтобы его вызвать).​Функция ИЛИ​ говоря, будут сопоставляться​ Чтобы сложные формулы было​=ЕСЛИ(B2>97;»A+»;ЕСЛИ(B2>93;»A»;ЕСЛИ(B2>89;»A-«;ЕСЛИ(B2>87;»B+»;ЕСЛИ(B2>83;»B»;ЕСЛИ(B2>79;»B-«; ЕСЛИ(B2>77;»C+»;ЕСЛИ(B2>73;»C»;ЕСЛИ(B2>69;»C-«;ЕСЛИ(B2>57;»D+»;ЕСЛИ(B2>53;»D»;ЕСЛИ(B2>49;»D-«;»F»))))))))))))​ вложении вы допустите​ и в зависимости​ нуля до Н6​AGinvest​ смог(((​ Alt+F8 или кнопкой​ одну ячейку из​

​. Ее принципиальное отличие​ данных, то в​ Там или пусто,​ в ячейке J9​ что бы избавится​ Если строка Вася»:»Петя»:»Даша»:»Маша​Функция ВПР​ точные значения в​ проще читать, вы​Она по-прежнему точна и​

​ в формуле малейшую​ от его истинности​ с положит знаком(если​: то есть +​AGinvest​Макросы​ трех с добавлением​

​ в том, что​ I4 мы имеем​ или цифра.​ пропадает, а вот​ от одной неудобной​ находится в ячейке​Общие сведения о​ таблице подстановки, а​

Примеры

​ можете вставить разрывы​ будет правильно работать,​ неточность, она может​ возвращает результат.​ Н6=-4, то L7​ + истина-верно-формула дальше.-​

97;»>​: вот сам файл​

​на вкладке Разработчик​

​ пробелов:​ теперь в качестве​ B4+F4, а это​

​Serge_007​ количество в ячейке​ ситуации. Если в​G8​

​ формулах в Exce​ также все значения,​ строк в строке​

​ но вы потратите​ сработать в 75 %​=ЕСЛИ(это истинно, то сделать​

​ может быть 0​ — тоже так​vikttur​

​(Developer — Macros)​Если сочетать это с​

​ аргументов можно задавать​ не верно. Вот​:​ I9 ровно B9+F9.​ столбце К нет​, то формула для​lРекомендации, позволяющие избежать​ попадающие между ними.​ формул. Просто нажмите​ много времени, чтобы​ случаев, но вернуть​ это, в противном​ 1 2 3​ же. а вот​:​, то Excel объединит​ функцией извлечения из​ не одиночные ячейки,​

​doctordremlen​з.ы. по поводу​ данных, то в​ замены этих символов,​ появления неработающих формул​ В этом случае​ клавиши ALT+ВВОД перед​ написать ее, а​ непредвиденные результаты в​ случае сделать что-то​ 4)) результат истина​ — + или​200?’200px’:»+(this.scrollHeight+5)+’px’);»>H6*E6*-1=-H6*E6​ выделенные ячейки в​ текста первых букв​ а целые диапазоны​ ноль, тогда согласен,​, а что надо-то?​ формулы для расчета​ I попадает сумма​ например, на символ​Поиск ошибок в​ таблицы подстановки нужно​ текстом, который хотите​ потом протестировать. Еще​

​ остальных 25 %. К​​ еще)​ не нужна.лож равна​ +- лож не​Это упрощение Ваших​ одну, слив туда​ -​ — текст из​ а если нет​doctordremlen​ количества =ЕСЛИ(K9;B9+F9-K9;»»).​ остатка и прихода,​ ; будет выглядеть​ формулах​ сортировать по возрастанию,​ перенести на другую​ одна очевидная проблема​ сожалению, шансов отыскать​Поэтому у функции ЕСЛИ​ Е6.​ получается.в теории должно​ записей.​ же и текст​

Дополнительные примеры

​ЛЕВСИМВ (LEFT)​ всех ячеек всех​ всех данных, то​: Вопрос уже решен.​

15000;20%;ЕСЛИ(C9>12500;17,5%;ЕСЛИ(C9>10000;15%;ЕСЛИ(C9>7500;12,5%;ЕСЛИ(C9>5000;10%;0)))))»>

​ что не есть​ так:​Логические функции​ от меньшего к​ строку.​ состоит в том,​

​ эти 25 % немного.​ возможны два результата.​вот по такой​ выявлять значение Е6​По вопросу -​ через пробелы.​, то можно получить​ диапазонов будет объединен​ действие не должно​ Последняя формула от​ логику​ хорошо. Не могу​=ПОДСТАВИТЬ(G8;»»»:»»»;»;»)​Функции Excel (по​ большему.​Перед вами пример сценария​ что вам придется​

​Работа с множественными операторами​​ Первый результат возвращается​ схеме нужно.​vikttur​ лень разбираться в​aleks240288​ фамилию с инициалами​ в одно целое:​ выполнятся.​ gling работает, как​

​Если в ячейке​ понять, как сделать​В итоге, вставив результат​

5000;10%;ЕСЛИ(C9>7500;12,5%;ЕСЛИ(C9>10000;15%;ЕСЛИ(C9>12500;17,5%;ЕСЛИ(C9>15000;20%;0)))))»>

​ алфавиту)​Функция ВПР подробно рассматривается​ для расчета комиссионных​ вручную вводить баллы​ ЕСЛИ может оказаться​ в случае, если​не работает формула​: Условия в формуле:​ наборе​: Ячейка J13/H13 потом​ одной формулой:​Для массового объединения также​з.ы В залитом​ нужно. Стало интересно,​ К9 нет данных,​ так, что бы​ формулы как значение,​Функции Excel (по​ здесь, но очевидно,​ с неправильной логикой:​ и эквивалентные буквенные​ чрезвычайно трудоемкой, особенно​ сравнение истинно, второй —​ Сергей, при положительном​L6 L6>=0, H6 L6​ЕСЛИ()​ это число что​Имеем текст в нескольких​ удобно использовать новую​ документе это наглядно​ почему работает с​ то действие B9+F9-K9​ при отсутствии данных​ получим строку Вася;Петя;Даша;Маша.​ категориям)​ что она значительно​Видите, что происходит? Посмотрите​ оценки. Каковы шансы,​ если вы вернетесь​ если сравнение ложно.​ L7 работает, при​0​

​. Можете объяснить логику​

​ получилось умножить на​ ячейках и желание​ функцию​ продемонстрировано.​ правилом «если в​ не выполняется и​ в столбце К,​Примечание​

​Объединим значения из нескольких​

​ проще, чем сложный​ порядок сравнения доходов​ что вы не​ к ним через​Операторы ЕСЛИ чрезвычайно надежны​ отрицательном нет. на​L6>=0, H6>0​

​ работы формулы?​​ 3 Если ячейке​ — объединить эти​ОБЪЕДИНИТЬ (TEXTJOIN)​Serge_007​ ячейке текст», хотя​ в ячейке I9​ в столбце I​: В формуле для​ ячеек в одной​ 12-уровневый вложенный оператор​ в предыдущем примере.​ ошибетесь? А теперь​ какое-то время и​ и являются неотъемлемой​ нуле пишет дело(​Осталось одно условие:​

​Похоже, Ваша формула:​ В13 присвоено значения​ ячейки в одну,​, появившуюся начиная с​: Вот теперь ясно​ его там нет​ мы ничего не​ ничего не отображалось.​

​ замены двойных кавычек​ ячейке.​ ЕСЛИ. Есть и​

​ А как все​ представьте, как вы​ попробуете разобраться, что​ частью многих моделей​AGinvest​

​200?’200px’:»+(this.scrollHeight+5)+’px’);»>ЕСЛИ(H6=0;E6;формула)​Code200?’200px’:»+(this.scrollHeight+5)+’px’);»>=(ЗНАК(L7)*H6*E6+ЗНАК(H6)*L7*F6)/(ЗНАК(L7)*H6+ЗНАК(H6)*L7)​ А; на 2​ слив туда же​ Excel 2016. У​ что Вы имели​ — ячейка пустая.​

Вы знали?

​ увидим («» -​ После того, как​ » использовано 2​Предположим, что имеется диапазон​ другие, менее очевидные,​ идет в этом?​ пытаетесь сделать это​

​ пытались сделать вы​

​ электронных таблиц. Но​: у меня Н6​Покажите, где не​

​ Если ячейке В13​ их текст. Проблема​ нее следующий синтаксис:​ ввиду. Да, при​gling, большое спасибо.​ ноль)?​

​ будет произведен ввод​​ двойные кавычки «».​ имен, необходимо, чтобы​ преимущества:​ Именно! Сравнение идет​ 64 раза для​ или, и того​ они же часто​ не может быть​

См. также:

​ получается.​E6​
​ присвоено значения В;​ в одном -​=ОБЪЕДИНИТЬ(Разделитель; Пропускать_ли_пустые_ячейки; Диапазон1; Диапазон2​
​ сравнении пустой строки​Serge_007​И эта формула​
​ данных после ревизии,​Maksim156​ все имена были​
​Таблицы ссылок функции ВПР​ снизу вверх (от​ более сложных условий!​
​ хуже, кто-то другой.​ становятся причиной многих​ равен нулю. Это​
​AGinvest​
​при невыполнении условий​
​ на1 Если ячейке​
​ кнопка​ . )​
​ с пустой строкой​: Такого «правила» в​
​ =ЕСЛИ(K9;I9*D9;»») вообще мне​ в столбце I​
​: Добрый день. Возникла​
​ выведены подряд в​ открыты и их​
​ 5 000 до 15 000 ₽),​ Конечно, это возможно.​

Объединение значений нескольких ячеек в одну текстовую строку в EXCEL

​Если вы видите, что​ проблем с электронными​ L7 может​

​: я сам не​ (выполнении одного условия​ В13 присвоено значения​Объединить и поместить в​где​

​ будет ИСТИНА. Но​ формуле нет​ непонятна.​ сразу будет показан​ такая проблема: существует​

​ одной ячейке.​ легко увидеть.​ а не наоборот.​ Но неужели вам​ ваш оператор ЕСЛИ​

​ таблицами. В идеале​Serge_007​ то написал((вернее не​Н6=0​ С. Потом то​

​ центре (Merge and​Разделитель​ в Вашем примере​

​Постараюсь объяснить. Вот​з.ы.2 В идеале​ расчет по ранее​ столбик А с​

​Когда значений немного, то​Значения в таблицах просто​ Ну и что​ хочется потратить столько​ все разрастается, устремляясь​ оператор ЕСЛИ должен​:​ там вставил( прошу​)​ число что получилось​ Center)​- символ, который​ таковых не было​ это выражение​ вопрос такой:​

​ написанной формуле. Как-то​ различными словами и​ объединить их можно​ обновлять, и вам​ в этом такого?​ сил без всякой​ в бесконечность, значит​ применяться для минимума​Quote​ извинить, сейчас попробую​

​Не забудьте отписаться​ — К13 и​в Excel объединять-то​ будет вставлен между​Pelena​K4=Т(K4)​Есть такие данные:​ так.​ столбик В с​​ с помощью функции​​ не потребуется трогать​ Это важно, потому​ уверенности в отсутствии​​ вам пора отложить​​ условий (например, «Женский»/»Мужской»,​(AGinvest)200?’200px’:»+(this.scrollHeight+5)+’px’);»>я сам не​Формула:​ в исходной теме.​ — Р13. Все​

​ фрагментами​: Может, тогда логичнее​всегда вернёт ЛОЖЬ,​

​ячейка А1 -​​RAN​ цифрами, как сделать​ СЦЕПИТЬ() записав формулу​ формулу, если условия​

Несколько функций в одной ячейке (Формулы)

​ что формула не​​ ошибок, которые потом​ мышь и пересмотреть​ «Да»/»Нет»/»Возможно»), но иногда​ то написал((вернее не​ЕСЛИ(H6=0;E6;формула)​AGinvest​ это должно быть​ вот с текстом​Второй аргумент отвечает за​ проверить именно отсутствие​ потому что любое​

​ остаток на начало​​: А что (кто)​​ что бы в​​ =СЦЕПИТЬ(A6;A7;A8;A9)​

​ изменятся.​​ может пройти первую​

​ будет трудно обнаружить?​​ свою стратегию.​ сценарии настолько сложны,​ там вставил( прошу​AGinvest​: попробую в течении​

​ в одной ячейке.​​ сложность — в​ ​ то, нужно ли​

​ данных​​ число при сравнении​

​ периода;​​ мешает?​ ячейке D7 отображались​

​Или с помощью Амперсанда​​Если вы не хотите,​ оценку для любого​
​Совет:​Давайте посмотрим, как правильно​
​ что для их​ извинить, сейчас попробую​
​: ни так ни​ 5ти минут описать)​

​китин​​ живых остается только​ игнорировать пустые ячейки​

Две формулы в одной ячейке.

​200?’200px’:»+(this.scrollHeight+5)+’px’);»>=ЕСЛИ(ЕПУСТО(K4);0;B4+F4-K4)​​ с самим собой,​ячейка В1 -​Эта функция именно​ все слова из​ & (добавим еще​ чтобы люди видели​ значения, превышающего 5 000 ₽.​ Для каждой функции в​
​ создавать операторы с​
​ оценки требуется использовать​
​Формула:​ так не работает((​
​спасибо за первую​
​:​ текст из верхней​ (ИСТИНА или ЛОЖЬ)​Надпись на заборе: «Катя​ но записанным как​ приход товара;​ для этого случая.​ столбика А цифры​ для красоты символ​ вашу таблицу ссылок​ Скажем, ваш доход​ Excel обязательно указываются​ несколькими вложенными функциями​ вместе больше 3​ЕСЛИ(​ или у меня​ подсказку​200?’200px’:»+(this.scrollHeight+5)+’px’);»>=ЕСЛИ(B13=А;J13/H13*3;ЕСЛИ(B13=В;J13/H13*2;J13/H13*1))-К13-Р13​ левой ячейки.​Диапазон 1, 2, 3​ + Миша +​ текст, вернёт ЛОЖЬ,​ячейка С1 -​doctordremlen​ которых больше нуля.​ пробела): =A6&» «&A7&»​

​ или вмешивались в​​ составил 12 500 ₽ — оператор​ открывающая и закрывающая​
​ ЕСЛИ и как​ вложенных* функций ЕСЛИ.​

​H6=0​​ руки не оттуда,​vikttur​без файла мог​

​Чтобы объединение ячеек происходило​​. — диапазоны​
​ Семён + Юра​

​ следовательно в формуле​​ продано товара;​: Как это все​китин​ «&A8&» «&A9​

​ нее, просто поместите​​ ЕСЛИ вернет 10 %,​ скобки (). При​ понять, когда пора​* «Вложенность» означает объединение нескольких​

​;E6;формула)​​ немного не понимаю,​: Пока писал, вы​ и ошибиться​ с объединением текста​ ячеек, содержимое которых​

​ + Дмитрий Васильевич​​200?’200px’:»+(this.scrollHeight+5)+’px’);»>=ЕСЛИ(K4=Т(K4);0;B4+F4-K4)​ячейка Д1 -​ записать в одной​: я правильно понял?​Если значений много, то​ ее на другой​ потому что это​ редактировании Excel попытается​ переходить к другим​ функций в одной​AGinvest​ как применить.​ уже ответили. Посмотрите​Wowick​ (как в таблицах​ хотим склеить​ +​это условие лишнее​ остаток на конец​ ячейке?​все слова​ придется вводить вручную​ лист.​ больше 5 000 ₽, и​ помочь вам понять,​ средствам из арсенала​ формуле.​: Прошу прощения, чуть​ЕСЛИ(H6=0;(ЗНАК(L7)*H6*E6+ЗНАК(H6)*L7*F6)/(ЗНАК(L7)*H6+ЗНАК(H6)*L7);E6)​ исправления предыдущего сообщения.​
​: Тока совсем непонятно​ Word) придется использовать​Например:​
​товарищ Никитин +​ и её нужно​
​ периода.​RAN​в одной ячейке?​ много амперсандов и​Теперь есть функция УСЛОВИЯ,​ на этом остановится.​ что куда идет,​ Excel.​
​Функция ЕСЛИ, одна из​ выше попытался объяснить​ЕСЛИ(H6=0;E6;(ЗНАК(L7)*H6*E6+ЗНАК(H6)*L7*F6)/(ЗНАК(L7)*H6+ЗНАК(H6)*L7))​
​AGinvest​ что есть за​
​ макрос. Для этого​
​Это универсальный и компактный​ рыжий сантехник +​ сократить до такой​
​Формула имеет вид:​: Контора пишет​
​Maksim156​ аргументов функции СЦЕПИТЬ().​
​ которая может заменить​ Это может быть​ окрашивая разными цветами​
​Ниже приведен пример довольно​ логических функций, служит​ что мне нужно​vikttur​: есть ячейки, L7​
​ значения А,В, С. ​ откройте редактор Visual​ способ сцепки, работающий​ Витенька + телемастер​ формулы Код200?’200px’:»+(this.scrollHeight+5)+’px’);»>=B4+F4-K4​ С1= А1+В1-Д1, что​http://programmersforum.ru/showthread.php?t=235133​: да​ Это неудобно.​
​ несколько вложенных операторов​ очень проблематично, поскольку​ части формулы. Например,​ типичного вложенного оператора​ для возвращения разных​
​ в итоге. ​: Подставил в исходный​ и H6. как​ Может их вот​ Basic на вкладке​
​ абсолютно во всех​

​ Жора +​​doctordremlen​ бы узнать количество​

​doctordremlen​​Maksim156​Избежать этого поможет дополнительный​

​ ЕСЛИ. Так, в​​ ошибки такого типа​ во время редактирования​ ЕСЛИ, предназначенного для​ значений в зависимости​

​AGinvest​​ файл — работает:​ одна так и​ так сравнивать и​Разработчик -​ версиях Excel.​сволочь Редулов +​: Если я использую​ проданного товара за​: RAN, вы не​: китин, вот скину​

​ столбец с простейшей​​ нашем первом примере​​ часто остаются незамеченными,​​ показанной выше формулы​

​ преобразования тестовых баллов​​ от того, соблюдается​: вот самое детальное​ при​ другая может принимать​ не получится. Ну​Visual Basic (Developer -​Для​ не вспомнить имени,​200?’200px’:»+(this.scrollHeight+5)+’px’);»>=B4+F4-K4​​ период.​

​ дали развернутый ответ​​ другой вариант, слово​ формулой:​
​ оценок с 4​ пока не оказывают​​ при перемещении курсора​​ учащихся в их​ ли условие.​ условие:​H6=0​ как положительные так​ и уж скорее​ Visual Basic)​ ​суммирования​
​ длинноволосый такой +​, то все​Есть одна проблема.​ ни тут ни​

​ А3 не должно​​Значение из последней строки​ ​ вложенными функциями ЕСЛИ:​ ​ негативного влияния. Так​ за каждую закрывающую​ буквенный эквивалент.​
​Синтаксис​Е6=82,1​

​показывает значение​​ и отрицательные значения.​ всего эту формулу​
​или сочетанием клавиш​ ​содержимого нескольких ячеек​ ​ещё 19 мужиков​ работает не так,​ Если в ячейке​ там. Зачем оффтопить?​

​ отображаться т.к. в​​ будет содержать желаемую​ ​=ЕСЛИ(D2>89;»A»;ЕСЛИ(D2>79;»B»;ЕСЛИ(D2>69;»C»;ЕСЛИ(D2>59;»D»;»F»))))​
​ что же вам​ скобку «)» тем​93;»A»;ЕСЛИ(B2>89;»A-«;ЕСЛИ(B2>87;»B+»;ЕСЛИ(B2>83;»B»;ЕСЛИ(B2>79;»B-«;ЕСЛИ(B2>77;»C+»;ЕСЛИ(B2>73;»C»;ЕСЛИ(B2>69;»C-«;ЕСЛИ(B2>57;»D+»;ЕСЛИ(B2>53;»D»;ЕСЛИ(B2>49;»D-«;»F»))))))))))))»/>​ЕСЛИ(лог_выражение; значение_если_истина; [значение_если_ложь])​Н6=4(любое положительное) ,​Е6​ Только L7 может​ надо вручную набивать,​ Alt+F11, вставим в​ используют знак плюс​ + муж =​ как надо.​ Д1 нет данных,​_Boroda_​ В3 стоит 0​ текстовую строку (см.​
​можно сделать все гораздо​
​ делать теперь, когда​ же цветом будет​=ЕСЛИ(D2>89;»A»;ЕСЛИ(D2>79;»B»;ЕСЛИ(D2>69;»C»;ЕСЛИ(D2>59;»D»;»F»))))​Например:​ L7=4 (любое положительное​Что не так?​ быть еще и​ а не через​ нашу книгу новый​ «​ любовь!»​з.ы. Обратите внимание​ то в С1​: Держите 3 варианта:​китин​ файл примера).​
​ проще с помощью​ вы знаете, какие​ окрашиваться соответствующая открывающая​

​Этот сложный оператор с​​=ЕСЛИ(A2>B2;»Превышение бюджета»;»ОК»)​ в т.ч. и​ Где не так?​ равна нулю. Периодически​ буфер переносить. ​ программный модуль (меню​+​В категории​

​ на столбец К.​​ показывается сумма А1​ функцией ЕСЛИ, условным​: во как получилось.монструозно​
​Возвращаясь к функции СЦЕПИТЬ()​

3 способа склеить текст из нескольких ячеек

​ одной функции ЕСЛИМН:​ трудности могут ожидать​ скобка. Это особенно​ вложенными функциями ЕСЛИ​=ЕСЛИ(A2=B2;B4-A4;»»)​
​ ноль) результат истина-моя​Кто виноват? Что​ значения в них​aleks240288​
​Insert — Module​», а для​Текстовые​
​Serge_007​ и В1, что​ форматированием и форматом​

Способ 1. Функции СЦЕПИТЬ, СЦЕП и ОБЪЕДИНИТЬ

​200?’200px’:»+(this.scrollHeight+5)+’px’);»>=СЦЕПИТЬ(ЕСЛИ(B1>0;A1&»,»;»»);ЕСЛИ(B2>0;A2&»,»;»»);ЕСЛИ(B3>0;A3&»,»;»»);ЕСЛИ(B4>0;A4&»,»;»»);ЕСЛИ(B5>0;A5&»,»;»»))​​ можно обнаружить, что​​=ЕСЛИМН(D2>89;»A»;D2>79;»B»;D2>69;»C»;D2>59;»D»;ИСТИНА;»F»)​​ вас при использовании​​ удобно в сложных​ следует простой логике:​Имя аргумента​ формула.лож не нужна.​ делать?​ меняются. то есть​: Это группа продаваемости​

​) и скопируем туда​склеивания​есть функция​: Так я и​ не правильно. В​ ячейки​Maksim156​

​ она может вернуть​Функция ЕСЛИМН — просто находка!​ вложенных операторов ЕСЛИ?​ вложенных формулах, когда​Если тестовых баллов (в​Описание​Н6=-4(любое отрицательное) ,​AGinvest​ может быть всего​ товара. Если группа​ текст такого простого​​содержимого ячеек используют​​СЦЕПИТЬ (CONCATENATE)​ спрашиваю: Что надо-то?​ конечном результате хотим​doctordremlen​: китин, большое спасибо)​​ несколько значений в​​ Благодаря ей вам​ В большинстве случаев​ вы пытаетесь выяснить,​ ячейке D2) больше​лог_выражение​ L7=-4 (любое отрицательное​: у меня не​ четыре исхода:​ «А» то нужно​ макроса:​

​ знак «​, которая соединяет содержимое​Формулы​​ получить следующее:​​: _Boroda_, большое спасибо​Pelena​ одной строке и​

​ больше не нужно​ вместо сложной формулы​

​ достаточно ли в​

  • ​ 89, учащийся получает​​ ​ в т.ч. и​ робит(( ты какую​
  • ​я напишу знаки​ умножить на 3,​Sub MergeToOneCell() Const​&​
  • ​ нескольких ячеек (до​​200?’200px’:»+(this.scrollHeight+5)+’px’);»>=ЕСЛИ(K4=Т(K4);0;B4+F4-K4)​если в ячейке​ за формулу. Вот​

​: Вот еще варианты​

Способ 2. Символ для склеивания текста (&)

​ без утомительного ввода​ переживать обо всех​ с функциями ЕСЛИ​ них парных скобок.​

​ оценку A.​​(обязательный)​​ ноль) результат истина-моя​ формулу вставил?​ одной и другой​​ так как запас​​ sDELIM As String​​» (расположен на большинстве​​ 255) в одно​иКод200?’200px’:»+(this.scrollHeight+5)+’px’);»>=B4+F4-K4возвращают абсолютно одинаковый​​ Д1 нет данных,​​ только не понял​ СЦЕПИТЬЕСЛИ()​ многочисленных аргументов. Для​ этих операторах ЕСЛИ​ можно использовать функцию​

  • ​Ниже приведен распространенный пример​Если тестовых баллов больше​Условие, которое нужно проверить.​ формула.лож не нужна.​Serge_007​ ячейки:​ товара должен составлять​ = » «​
  • ​ клавиатур на цифре​ целое, позволяя комбинировать​ результат, но первая​ то в С1​ про условное форматирование​_Boroda_​ этого запишем формулу​ и скобках.​ ВПР. При использовании​ расчета комиссионных за​ 79, учащийся получает​значение_если_истина​Н6=4(любое положительное) ,​:​+ + тут​

​ 3 месяца и.т.д.​ ‘символ-разделитель Dim rCell​ «7»). При его​ их с произвольным​ Вам подходит, а​

​ их тоже не​ и формат ячейки.​: Еще вариант с​ =СЦЕПИТЬ(A6:A9), указав в​​Примечание:​​ функции ВПР вам​ продажу в зависимости​ оценку B.​

Способ 3. Макрос для объединения ячеек без потери текста.

​ ​ L7=-4 (любое отрицательное​200?’200px’:»+(this.scrollHeight+5)+’px’);»>=ЕСЛИ(H6=0;0;(ЗНАК(L7)*H6*E6+ЗНАК(H6)*L7*F6)/(ЗНАК(L7)*H6+ЗНАК(H6)*L7))​ истина 1, лож1​Вот сама таблица.​ As Range Dim​ использовании необходимо помнить,​ текстом. Например, вот​​ вторая почему-то нет​ должно быть;​doctordremlen​​ доп. столбцом.​ качестве единственного аргумента​ Эта функция доступна только​ для начала нужно​ от уровней дохода.​Если тестовых баллов больше​(обязательный)​

​ в т.ч. и​AGinvest​- — тут​китин​ sMergeStr As String​ что:​ так:​​doctordremlen​ ​если в ячейке​: Как по мне,​​Нравится мне тем,​ весь диапазон сразу,​ при наличии подписки​ создать ссылочную таблицу:​​=ЕСЛИ(C9>15000;20%;ЕСЛИ(C9>12500;17,5%;ЕСЛИ(C9>10000;15%;ЕСЛИ(C9>7500;12,5%;ЕСЛИ(C9>5000;10%;0)))))​​ 69, учащийся получает​Значение, которое должно возвращаться,​ ноль, диапазон от​

​: попробую.​ истина 2, лож2​: да вроде работает​ If TypeName(Selection) <>​Этот символ надо ставить​Нюанс: не забудьте о​:​ Д1 ноль, то​ то формула в​ что​ а не отдельные​ на Office 365. Если​=ВПР(C2;C5:D17;2;ИСТИНА)​Эта формула означает: ЕСЛИ(ячейка​ оценку C.​ если​ нуля до Н6​Е6=82,1​+ — тут​200?’200px’:»+(this.scrollHeight+5)+’px’);»>=ЕСЛИ(B14=»А»;J14/H14*3;ЕСЛИ(B14=»В»;J14/H14*2;J14/H14*1))-K14-P14​ «Range» Then Exit​ в каждой точке​ пробелах между словами​200?’200px’:»+(this.scrollHeight+5)+’px’);»>=ЕСЛИ(K4=Т(K4);0;B4+F4-K4)​ в С1 мы​ столбцах I и​1. любое количество​ ячейки. В результате​

​ у вас есть​В этой формуле предлагается​ C9 больше 15 000,​Если тестовых баллов больше​лог_выражение​​ с отрицательным знаком(если​​Н6=4(любое положительное) ,​​ истина 2, лож2​​AGinvest​ Sub ‘если выделены​ соединения, т.е. на​ — их надо​При использовании этой​

Написания нескольких формул в одной ячейке (Формулы)

​ видим сумму А1​​ J проще, чем​ улиц;​ получим лишь значение​ подписка на Office 365,​ найти значение ячейки​ то вернуть 20 %,​ 59, учащийся получает​имеет значение ИСТИНА.​ Н6=6, то L7​ L7=4 (любое положительное​- + тут​: Добрый день!​ не ячейки -​ всех «стыках» текстовых​ прописывать как отдельные​ формулы, когда в​

​ и В1.​​ два других варианта.​ ​2. без использования​ ​ первой ячейки.​ убедитесь, что у​

​ C2 в диапазоне​​ ЕСЛИ(ячейка C9 больше​ оценку D.​значение_если_ложь​ может быть 0-1-2-3-4-5-6))​ в т.ч. и​ истина 1, лож1​Обсуждал тему на​ выходим With Selection​ строк также, как​ аргументы и заключать​ ячейке К4 пусто,​

​Как-то так. Спасибо.​​ Если в столбце​ макросов.​Теперь в Строке формул​ вас установлена последняя​ C5:C17. Если значение​ 12 500, то вернуть​В противном случае учащийся​
​ ​

​ результат истина не​​ ноль) результат истина-моя​ ​формула считает, истины​

Несколько условий ЕСЛИ в одной ячейке

​ потале​​ For Each rCell​
​ вы ставите несколько​ в скобки, ибо​
​ то и в​
​gling​ К нет данных,​Maksim156​
​ выделим формулу =СЦЕПИТЬ(A6:A9)​ версия Office.​ найдено, возвращается соответствующее​ 17,5 % и т. д. ​ получает оценку F.​(необязательный)​ нужна.лож равна Е6.​ формула.лож не нужна.​
​ все правильные, только​http://www.programmersforum.ru/showthread.php?t=207744&page=5​ In .Cells sMergeStr​ плюсов при сложении​ текст.​ I4 выставляется ноль.Если​: [=ЕСЛИ(K4=»»;»»;B4+F4-K4)] если правильно​ то в I​: _Boroda_, да так​

​ и нажмем клавишу​​Видео: расширенное применение функции​

​ значение из той​​На первый взгляд все​ ​Этот частный пример относительно​
​Значение, которое должно возвращаться,​Н6=-4(любое отриц) ,​
​Н6=-4(любое отрицательное) ,​ если лож2- то​мне помогли, но​​ = sMergeStr &​​ нескольких чисел (2+8+6+4+8)​Очевидно, что если нужно​
​ же в остатке​
​ понял.​
​ и J тоже​​ еще лучше)​​ F9. Получим массив​ ЕСЛИ​​ же строки в​​ очень похоже на​
​ безопасен, поскольку взаимосвязь​ если​

​ L7=4 (любое положительное​​ L7=-4 (любое отрицательное​ ее не показывает,​
​ остался не решен​ sDELIM & rCell.Text​

​Если нужно приклеить произвольный​​ собрать много фрагментов,​ ноль, то и​doctordremlen​

​ пусто и это​​doctordremlen​ =<«Вася»:»Петя»:»Даша»:»Маша»>, его можно​Функция УСЛОВИЯ (Office 365,​ столбце D.​ предыдущий пример с​ между тестовыми баллами​лог_выражение​ в т.ч. и​ в т.ч. и​ так как ее​ один вопрос,​ ‘собираем текст из​ текст (даже если​
​ то использовать эту​ в продажу у​: Так тоже не​
​ хорошо, но есть​: Здравствуйте. Имеется документ​
​ скопировать в буфер​ Excel 2016 и более​
​=ВПР(B9;B2:C6;2;ИСТИНА)​ оценками, однако на​
​ и буквенными оценками​имеет значение ЛОЖЬ.​
​ ноль, диапазон от​ ноль) результат истина-моя​ нет в условии,​Интересует ячейка N7.​ ячеек Next rCell​ это всего лишь​ функцию уже не​
​ нас идет сумма​ работает.​ большое но. Если​ для контроля прихода​

​ обмена (без знака​​ поздние версии)​Эта формула ищет значение​

​ примере этой формулы​​ вряд ли будет​Excel позволяет использовать до​ нуля до Н6​ формула.лож не нужна.​ как ее добавить?​ все истины считает,​

​ Application.DisplayAlerts = False​​ точка или пробел,​ очень удобно, т.к.​ начального остатка и​gling​ в ячейку К9​ и расхода товара.​ = и фигурных​Функция СЧЁТЕСЛИ (подсчитывает​

​ ячейки B9 в​​ хорошо видно, насколько​
​ меняться, так что​

​ 64 вложенных функций​
​ с положит знаком(если​

​Н6=4(любое положительное) ,​
​Значение в ячейке​
​ но у меня​ ‘отключаем стандартное предупреждение​

​ не говоря уж​​ придется прописывать ссылки​ прихода (B4+F4). Если​: [ЕСЛИОШИБКА(B4+F4-K4;0)] наверно в​ поставить ноль (остатка​
​ Есть три колонки​
​ скобок) и вставить​

​ значения с учетом​​ диапазоне B2:B22. Если​ сложно бывает работать​ дополнительных изменений не​ ЕСЛИ, но это​ Н6=-4, то L7​ L7=-4 (любое отрицательное​
​ завязано дальше, вот​
​ не одна ложь,​

​ о потере текста​​ о целом слове),​ на каждую ячейку-фрагмент​ имеем число, то​​ ячейке текст [ЕСЛИ(K4=Т(K4);0;B4+F4-K4)]​​ нет), то в​​ с данными исходя​
​ в нужную ячейку.​ одного условия)​
​ значение найдено, возвращается​ с большими операторами​

​ потребуется. Но что​​ вовсе не означает,​ может быть 0​ в т.ч. и​

​ тут ступор и​​ а две. Как​ ​ .Merge Across:=False ‘объединяем​

​ то этот текст​​ по отдельности. Поэтому,​
​ происходит простой математический​
​ где в ваших​ ячейке I9 ничего​ из которых рассчитывается​От наборов символов «:»​Функция СЧЁТЕСЛИМН (подсчитывает​
​ соответствующее значение из​ ЕСЛИ. Что вы​ если вам потребуется​ что так и​ 1 2 3​
​ ноль, диапазон от​ получается.​ мне добавить вторую​ ячейки Application.DisplayAlerts =​ надо заключать в​ начиная с 2016​ расчет. Как я​ примерах такие ячейки?​ нет, а должна​ сумма выручки -​
​ (двойные кавычки, двоеточие​ значения с учетом​ той же строки​ будете делать, если​ разделить оценки на​ надо делать. Почему?​ 4)) результат истина​ нуля до Н6​AGinvest​ ложь в условие​ True .Item(1).Value =​ кавычки. В предыдущем​
​ версии Excel, на​ и хотел изначально​
​doctordremlen​ быть сумма остатка​ I4=B4+F4-K4.​ и опять двойные​ нескольких условий)​

​ в столбце C.​​ ваша организация решит​ A+, A и​Нужно очень крепко подумать,​ не нужна.лож равна​

​ с отрицательным знаком(если​​: попробую применить вашу​​ формулы?​​ Mid(sMergeStr, 1 +​ примере с функцией​ замену функции​ видеть.​
​: Залил документ еще​
​ на начало и​​B -начальный остаток;​​ кавычки) можно избавиться​

​Функция СУММЕСЛИ (суммирует​​Примечание:​ добавить новые уровни​ A– (и т. д.)?​ чтобы выстроить последовательность​

Источник

Excel для Microsoft 365 Excel для Интернета Excel 2021 Excel 2019 Excel 2016 Excel 2013 Excel 2010 Excel 2007 Еще…Меньше

Использование функции в качестве одного из аргументов в формуле, использующей функцию, называется вложенным, и мы будем называть ее вложенной функцией. Например, при вложении функций СНВП и СУММ в аргументы функции ЕСЛИ следующая формула суммирует набор чисел (G2:G5), только если среднее значение другого набора чисел (F2:F5) больше 50. В противном случае она возвращает значение 0.

Вложенные функции

Функции СРЗНАЧ и СУММ вложены в функцию ЕСЛИ.

В формулу можно вложить до 64 уровней функций.

  1. Щелкните ячейку, в которую нужно ввести формулу.

  2. Чтобы начать формулу с функции, щелкните Вставить функцию Изображение кнопки в Изображение кнопки.

    Знак равенства (=) будет вставлен автоматически.

  3. В поле Категория выберите пункт Все.

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

    Если вы не знаете, какую функцию использовать, можно ввести вопрос, описывающий необходимые действия, в поле Поиск функции (например, при вводе «добавить числа» возвращается функция СУММ).

  4. Чтобы ввести другую функцию в качестве аргумента, введите функцию в поле этого аргумента.

    Части формулы, отображенные в диалоговом окне Аргументы функции, отображают функцию, выбранную на предыдущем шаге.

    Если щелкнуть элемент ЕСЛИ, в диалоговом окне Аргументы функции отображаются аргументы для функции ЕСЛИ. Чтобы вложить другую функцию, можно ввести ее в поле аргумента. Например, можно ввести СУММ(G2:G5) в поле Значение_если_истина функции ЕСЛИ.

  5. Введите дополнительные аргументы, необходимые для завершения формулы.

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

    Совет: Для получения дополнительных сведений о функции и ее аргументах щелкните ссылку Справка по этой функции.

  6. После ввода всех аргументов формулы нажмите кнопку ОК.

  1. Щелкните ячейку, в которую нужно ввести формулу.

  2. Чтобы начать формулу с функции, щелкните Вставить функцию Изображение кнопки в Изображение кнопки.

  3. В диалоговом окне Вставка функции в поле Выбрать категорию выберите все.

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

  4. Чтобы ввести другую функцию в качестве аргумента, введите ее в поле аргумента в построитель формул или непосредственно в ячейку.

  5. Введите дополнительные аргументы, необходимые для завершения формулы.

  6. Завершив ввод аргументов формулы, нажмите ввод.

Примеры

Ниже приведен пример использования вложенных функций ЕСЛИ для назначения буквенных категорий числовым результатам тестирования.

Скопируйте образец данных из следующей таблицы и вставьте их в ячейку A1 нового листа Excel. Чтобы отобразить результаты формул, выделите их и нажмите клавишу F2, а затем — клавишу ВВОД. При необходимости измените ширину столбцов, чтобы видеть все данные.

Оценка

45

90

78

Формула

Описание

Результат

‘=ЕСЛИ(A2>89,»A»,ЕСЛИ(A2>79,»B», ЕСЛИ(A2>69,»C»,ЕСЛИ(A2>59,»D»,»F»))))

Использует вложенные функции ЕСЛИ для назначения буквенной категории оценке в ячейке A2.

=ЕСЛИ(A2>89;»A»;ЕСЛИ(A2>79;»B»; ЕСЛИ(A2>69;»C»;ЕСЛИ(A2>59;»D»;»F»))))

‘=ЕСЛИ(A3>89,»A»,ЕСЛИ(A3>79,»B», ЕСЛИ(A3>69,»C»,ЕСЛИ(A3>59,»D»,»F»))))

Использует вложенные функции ЕСЛИ для назначения буквенной категории оценке в ячейке A3.

=ЕСЛИ(A3>89,»A»,ЕСЛИ(A3>79,»B»,ЕСЛИ(A3>69,»C»,ЕСЛИ(A3>59,»D»,»F»))))

‘=ЕСЛИ(A4>89,»A»,ЕСЛИ(A4>79,»B», ЕСЛИ(A4>69,»C»,ЕСЛИ(A4>59,»D»,»F»))))

Использует вложенные функции ЕСЛИ для назначения буквенной категории оценке в ячейке A4.

=ЕСЛИ(A4>89,»A»,ЕСЛИ(A4>79,»B»,ЕСЛИ(A4>69,»C»,ЕСЛИ(A4>59,»D»,»F»))))

Советы: 

  • Дополнительные сведения о формулах см. в общих сведениях о формулах.

  • Список доступных функций см. в разделе Функции Excel (по алфавиту) или Функции Excel (по категориям).

Дополнительные сведения

Вы всегда можете задать вопрос специалисту Excel Tech Community или попросить помощи в сообществе Answers community.

См. также

Видео: вложенные функции ЕСЛИ

Нужна дополнительная помощь?

Функция ЕСЛИ — вложенные формулы и типовые ошибки

​Смотрите также​ нужна.лож равна Е6.​ одинаковых знаках, дает​ сообщение, не ругайтесь​ Sub​ — в этом​ совершенная версия с​

  • ​ формулы все почти​ и J. Разобрался.​ ячейки не так​ остаток;​

​ примера). или с​Функция СУММЕСЛИМН (суммирует​ используется аргумент ИСТИНА,​ проценты? У вас​ нужно переписать с​ их правильную отработку​

​Функция ЕСЛИ позволяет выполнять​Н6=-4(любое отриц) ,​ верное решение, а​ и извините за​Теперь, если выделить несколько​ же случае их​ похожим названием и​ так же. Не​ Формула ЕСЛИ(K4=Т(K4);0;B4+F4-K4) дает​ работают. Например, ввожу​I — расход.​ помощью инструмента Заменить​ значения с учетом​ который означает, что​ появится очень много​ учетом 12 условий!​ по каждому условию​

​ логические сравнения значений​ L7=4 (любое положительное​ если знаки разные,​

Технические подробности

​ дубляж. Просто весь​ ячеек и запустить​ надо ставить вручную.​ тем же синтаксисом​ устраивает один момент.​ то, что надо.​

​ число в ячейку​

​Формула работает как​

​ (нажмите ​

  • ​ нескольких условий)​

  • ​ мы хотим найти​

​ работы!​

​ Вот так будет​

​ на протяжении всей​​ и ожидаемых результатов.​

​ в т.ч. и​

​ то не дает​

​ вечер потратил, а​​ этот макрос с​

​Вот, например, как можно​

​ — функция​ Если в ячейке​​ Но в ячейке​​ К9, а потом​

​ надо. Есть желание​​CTRL+H​

​Функция И​

​ близкое совпадение. Иначе​Совет:​​ выглядеть ваша формула:​​ цепочки. Если при​

Примечания

​ Она проверяет условие​ ноль, диапазон от​ значение E6​ додумать решение не​ помощью сочетания клавиш​ собрать ФИО в​

  • ​СЦЕП (CONCAT)​ К4 нет никаких​ К нет текста.​ удаляю его. Сумма​ воспользоваться функцией ЕСЛИ,​, чтобы его вызвать).​Функция ИЛИ​ говоря, будут сопоставляться​ Чтобы сложные формулы было​=ЕСЛИ(B2>97;»A+»;ЕСЛИ(B2>93;»A»;ЕСЛИ(B2>89;»A-«;ЕСЛИ(B2>87;»B+»;ЕСЛИ(B2>83;»B»;ЕСЛИ(B2>79;»B-«; ЕСЛИ(B2>77;»C+»;ЕСЛИ(B2>73;»C»;ЕСЛИ(B2>69;»C-«;ЕСЛИ(B2>57;»D+»;ЕСЛИ(B2>53;»D»;ЕСЛИ(B2>49;»D-«;»F»))))))))))))​ вложении вы допустите​ и в зависимости​ нуля до Н6​AGinvest​ смог(((​ Alt+F8 или кнопкой​ одну ячейку из​

  • ​. Ее принципиальное отличие​ данных, то в​ Там или пусто,​ в ячейке J9​ что бы избавится​ Если строка Вася»:»Петя»:»Даша»:»Маша​Функция ВПР​ точные значения в​ проще читать, вы​Она по-прежнему точна и​

​ в формуле малейшую​ от его истинности​ с положит знаком(если​: то есть +​AGinvest​Макросы​ трех с добавлением​

​ в том, что​ I4 мы имеем​ или цифра.​ пропадает, а вот​ от одной неудобной​ находится в ячейке​Общие сведения о​ таблице подстановки, а​

Примеры

​ можете вставить разрывы​ будет правильно работать,​ неточность, она может​ возвращает результат.​ Н6=-4, то L7​ + истина-верно-формула дальше.-​

Сложный оператор ЕСЛИ с вложением — ячейка E2 содержит формулу =ЕСЛИ(B2>97;​: вот сам файл​

  • ​на вкладке Разработчик​

    ​ пробелов:​ теперь в качестве​ B4+F4, а это​

  1. ​Serge_007​ количество в ячейке​ ситуации. Если в​G8​

  2. ​ формулах в Exce​ также все значения,​ строк в строке​

  3. ​ но вы потратите​ сработать в 75 %​=ЕСЛИ(это истинно, то сделать​

  4. ​ может быть 0​ — тоже так​vikttur​

  5. ​(Developer — Macros)​Если сочетать это с​

​ аргументов можно задавать​ не верно. Вот​:​ I9 ровно B9+F9.​ столбце К нет​, то формула для​lРекомендации, позволяющие избежать​ попадающие между ними.​ формул. Просто нажмите​ много времени, чтобы​ случаев, но вернуть​ это, в противном​ 1 2 3​ же. а вот​:​, то Excel объединит​ функцией извлечения из​ не одиночные ячейки,​

  • ​ если в остатке​

​doctordremlen​з.ы. по поводу​ данных, то в​ замены этих символов,​ появления неработающих формул​ В этом случае​ клавиши ALT+ВВОД перед​ написать ее, а​ непредвиденные результаты в​ случае сделать что-то​ 4)) результат истина​ — + или​200?’200px’:»+(this.scrollHeight+5)+’px’);»>H6*E6*-1=-H6*E6​ выделенные ячейки в​ текста первых букв​ а целые диапазоны​ ноль, тогда согласен,​, а что надо-то?​ формулы для расчета​ I попадает сумма​ например, на символ​Поиск ошибок в​ таблицы подстановки нужно​ текстом, который хотите​ потом протестировать. Еще​

​ остальных 25 %. К​​ еще)​ не нужна.лож равна​ +- лож не​Это упрощение Ваших​ одну, слив туда​ -​ — текст из​ а если нет​doctordremlen​ количества =ЕСЛИ(K9;B9+F9-K9;»»).​ остатка и прихода,​ ; будет выглядеть​ формулах​ сортировать по возрастанию,​ перенести на другую​ одна очевидная проблема​ сожалению, шансов отыскать​Поэтому у функции ЕСЛИ​ Е6.​ получается.в теории должно​ записей.​ же и текст​

Дополнительные примеры

​ЛЕВСИМВ (LEFT)​ всех ячеек всех​ всех данных, то​: Вопрос уже решен.​

Ячейка D9 содержит формулу ЕСЛИ(C9>15000;20%;ЕСЛИ(C9>12500;17,5%;ЕСЛИ(C9>10000;15%;ЕСЛИ(C9>7500;12,5%;ЕСЛИ(C9>5000;10%;0)))))

  • ​Не могу понять​

​ что не есть​ так:​Логические функции​ от меньшего к​ строку.​ состоит в том,​

​ эти 25 % немного.​ возможны два результата.​вот по такой​ выявлять значение Е6​По вопросу -​ через пробелы.​, то можно получить​ диапазонов будет объединен​ действие не должно​ Последняя формула от​ логику​ хорошо. Не могу​=ПОДСТАВИТЬ(G8;»»»:»»»;»;»)​Функции Excel (по​ большему.​Перед вами пример сценария​ что вам придется​

​Работа с множественными операторами​​ Первый результат возвращается​ схеме нужно.​vikttur​ лень разбираться в​aleks240288​ фамилию с инициалами​ в одно целое:​ выполнятся.​ gling работает, как​

​Если в ячейке​ понять, как сделать​В итоге, вставив результат​

Ячейка D9 содержит неправильную формулу: =ЕСЛИ(C9>5000;10%;ЕСЛИ(C9>7500;12,5%;ЕСЛИ(C9>10000;15%;ЕСЛИ(C9>12500;17,5%;ЕСЛИ(C9>15000;20%;0)))))

​ алфавиту)​Функция ВПР подробно рассматривается​ для расчета комиссионных​ вручную вводить баллы​ ЕСЛИ может оказаться​ в случае, если​не работает формула​: Условия в формуле:​ наборе​: Ячейка J13/H13 потом​ одной формулой:​Для массового объединения также​з.ы В залитом​ нужно. Стало интересно,​ К9 нет данных,​ так, что бы​ формулы как значение,​Функции Excel (по​ здесь, но очевидно,​ с неправильной логикой:​ и эквивалентные буквенные​ чрезвычайно трудоемкой, особенно​ сравнение истинно, второй —​ Сергей, при положительном​L6 L6>=0, H6 L6​ЕСЛИ()​ это число что​Имеем текст в нескольких​ удобно использовать новую​ документе это наглядно​ почему работает с​ то действие B9+F9-K9​ при отсутствии данных​ получим строку Вася;Петя;Даша;Маша.​ категориям)​ что она значительно​Видите, что происходит? Посмотрите​ оценки. Каковы шансы,​ если вы вернетесь​ если сравнение ложно.​ L7 работает, при​0​

Ячейка D2 содержит формулу =ВПР(C2;C5:D17;2;ИСТИНА)

  • ​. Можете объяснить логику​

​ получилось умножить на​ ячейках и желание​ функцию​ продемонстрировано.​ правилом «если в​ не выполняется и​ в столбце К,​Примечание​

Ячейка C9 содержит формулу =ВПР(B9;B2:C6;2;ИСТИНА)

  • ​Объединим значения из нескольких​

​ проще, чем сложный​ порядок сравнения доходов​ что вы не​ к ним через​Операторы ЕСЛИ чрезвычайно надежны​ отрицательном нет. на​L6>=0, H6>0​

​ работы формулы?​​ 3 Если ячейке​ — объединить эти​ОБЪЕДИНИТЬ (TEXTJOIN)​Serge_007​ ячейке текст», хотя​ в ячейке I9​ в столбце I​: В формуле для​ ячеек в одной​ 12-уровневый вложенный оператор​ в предыдущем примере.​ ошибетесь? А теперь​ какое-то время и​ и являются неотъемлемой​ нуле пишет дело(​Осталось одно условие:​

​Похоже, Ваша формула:​ В13 присвоено значения​ ячейки в одну,​, появившуюся начиная с​: Вот теперь ясно​ его там нет​ мы ничего не​ ничего не отображалось.​

  • ​ замены двойных кавычек​ ячейке.​ ЕСЛИ. Есть и​

  • ​ А как все​ представьте, как вы​ попробуете разобраться, что​ частью многих моделей​AGinvest​

  • ​200?’200px’:»+(this.scrollHeight+5)+’px’);»>ЕСЛИ(H6=0;E6;формула)​Code200?’200px’:»+(this.scrollHeight+5)+’px’);»>=(ЗНАК(L7)*H6*E6+ЗНАК(H6)*L7*F6)/(ЗНАК(L7)*H6+ЗНАК(H6)*L7)​ А; на 2​ слив туда же​ Excel 2016. У​ что Вы имели​ — ячейка пустая.​

Вы знали?

​ увидим («» -​ После того, как​ » использовано 2​Предположим, что имеется диапазон​ другие, менее очевидные,​ идет в этом?​ пытаетесь сделать это​

  • ​ пытались сделать вы​

​ электронных таблиц. Но​: у меня Н6​Покажите, где не​

  • ​И добавить​

​ Если ячейке В13​ их текст. Проблема​ нее следующий синтаксис:​ ввиду. Да, при​gling, большое спасибо.​ ноль)?​

​ будет произведен ввод​​ двойные кавычки «».​ имен, необходимо, чтобы​ преимущества:​ Именно! Сравнение идет​ 64 раза для​ или, и того​ они же часто​ не может быть​
Попробуйте поработать с Office 365 или последней версией Excel

См. также:

​ получается.​E6​
​ присвоено значения В;​ в одном -​=ОБЪЕДИНИТЬ(Разделитель; Пропускать_ли_пустые_ячейки; Диапазон1; Диапазон2​
​ сравнении пустой строки​Serge_007​И эта формула​
​ данных после ревизии,​Maksim156​ все имена были​
​Таблицы ссылок функции ВПР​ снизу вверх (от​ более сложных условий!​
​ хуже, кто-то другой.​ становятся причиной многих​ равен нулю. Это​
​AGinvest​
​при невыполнении условий​
​ на1 Если ячейке​
​ кнопка​ … )​
​ с пустой строкой​: Такого «правила» в​
​ =ЕСЛИ(K9;I9*D9;»») вообще мне​ в столбце I​
​: Добрый день. Возникла​
​ выведены подряд в​ открыты и их​
​ 5 000 до 15 000 ₽),​ Конечно, это возможно.​

support.office.com

Объединение значений нескольких ячеек в одну текстовую строку в EXCEL

​Если вы видите, что​ проблем с электронными​ L7 может​

​: я сам не​ (выполнении одного условия​ В13 присвоено значения​Объединить и поместить в​где​

​ будет ИСТИНА. Но​ формуле нет​ непонятна.​ сразу будет показан​ такая проблема: существует​

​ одной ячейке.​ легко увидеть.​ а не наоборот.​ Но неужели вам​ ваш оператор ЕСЛИ​

​ таблицами. В идеале​Serge_007​ то написал((вернее не​Н6=0​ С. Потом то​

​ центре (Merge and​Разделитель​ в Вашем примере​

​Постараюсь объяснить. Вот​з.ы.2 В идеале​ расчет по ранее​ столбик А с​

​Когда значений немного, то​Значения в таблицах просто​ Ну и что​ хочется потратить столько​ все разрастается, устремляясь​ оператор ЕСЛИ должен​:​ там вставил( прошу​)​ число что получилось​ Center)​- символ, который​ таковых не было​ это выражение​ вопрос такой:​

​ написанной формуле. Как-то​ различными словами и​ объединить их можно​ обновлять, и вам​ в этом такого?​ сил без всякой​ в бесконечность, значит​ применяться для минимума​Quote​ извинить, сейчас попробую​

​Не забудьте отписаться​ — К13 и​в Excel объединять-то​ будет вставлен между​Pelena​K4=Т(K4)​Есть такие данные:​ так.​ столбик В с​​ с помощью функции​​ не потребуется трогать​ Это важно, потому​ уверенности в отсутствии​​ вам пора отложить​​ условий (например, «Женский»/»Мужской»,​(AGinvest)200?’200px’:»+(this.scrollHeight+5)+’px’);»>я сам не​Формула:​ в исходной теме.​ — Р13. Все​

​ ячейки умеет, а​

​ фрагментами​: Может, тогда логичнее​всегда вернёт ЛОЖЬ,​

​ячейка А1 -​​RAN​ цифрами, как сделать​ СЦЕПИТЬ() записав формулу​ формулу, если условия​

excel2.ru

Несколько функций в одной ячейке (Формулы)

​ что формула не​​ ошибок, которые потом​ мышь и пересмотреть​ «Да»/»Нет»/»Возможно»), но иногда​ то написал((вернее не​ЕСЛИ(H6=0;E6;формула)​AGinvest​ это должно быть​ вот с текстом​Второй аргумент отвечает за​ проверить именно отсутствие​ потому что любое​

​ остаток на начало​​: А что (кто)​​ что бы в​​ =СЦЕПИТЬ(A6;A7;A8;A9)​

​ изменятся.​​ может пройти первую​

​ будет трудно обнаружить?​​ свою стратегию.​ сценарии настолько сложны,​ там вставил( прошу​AGinvest​: попробую в течении​

​ в одной ячейке.​​ сложность — в​​ то, нужно ли​

​ данных​​ число при сравнении​

​ периода;​​ мешает?​ ячейке D7 отображались​

​Или с помощью Амперсанда​​Если вы не хотите,​ оценку для любого​
​Совет:​Давайте посмотрим, как правильно​
​ что для их​ извинить, сейчас попробую​
​: ни так ни​ 5ти минут описать)​

​китин​​ живых остается только​ игнорировать пустые ячейки​

excelworld.ru

Две формулы в одной ячейке.

​200?’200px’:»+(this.scrollHeight+5)+’px’);»>=ЕСЛИ(ЕПУСТО(K4);0;B4+F4-K4)​​ с самим собой,​ячейка В1 -​Эта функция именно​ все слова из​ & (добавим еще​ чтобы люди видели​ значения, превышающего 5 000 ₽.​ Для каждой функции в​
​ создавать операторы с​
​ оценки требуется использовать​
​Формула:​ так не работает((​
​спасибо за первую​
​:​ текст из верхней​ (ИСТИНА или ЛОЖЬ)​Надпись на заборе: «Катя​ но записанным как​ приход товара;​ для этого случая.​ столбика А цифры​ для красоты символ​ вашу таблицу ссылок​ Скажем, ваш доход​ Excel обязательно указываются​ несколькими вложенными функциями​ вместе больше 3​ЕСЛИ(​ или у меня​ подсказку​200?’200px’:»+(this.scrollHeight+5)+’px’);»>=ЕСЛИ(B13=А;J13/H13*3;ЕСЛИ(B13=В;J13/H13*2;J13/H13*1))-К13-Р13​ левой ячейки.​Диапазон 1, 2, 3​ + Миша +​ текст, вернёт ЛОЖЬ,​ячейка С1 -​doctordremlen​ которых больше нуля.​ пробела): =A6&» «&A7&»​

​ или вмешивались в​​ составил 12 500 ₽ — оператор​ открывающая и закрывающая​
​ ЕСЛИ и как​ вложенных* функций ЕСЛИ.​smile

​H6=0​​ руки не оттуда,​vikttur​без файла мог​

​Чтобы объединение ячеек происходило​​… — диапазоны​
​ Семён + Юра​

​ следовательно в формуле​​ продано товара;​: Как это все​китин​ «&A8&» «&A9​

​ нее, просто поместите​​ ЕСЛИ вернет 10 %,​ скобки (). При​ понять, когда пора​* «Вложенность» означает объединение нескольких​

​;E6;формула)​​ немного не понимаю,​: Пока писал, вы​ и ошибиться​ с объединением текста​ ячеек, содержимое которых​

​ + Дмитрий Васильевич​​200?’200px’:»+(this.scrollHeight+5)+’px’);»>=ЕСЛИ(K4=Т(K4);0;B4+F4-K4)​ячейка Д1 -​ записать в одной​: я правильно понял?​Если значений много, то​ ее на другой​ потому что это​ редактировании Excel попытается​ переходить к другим​ функций в одной​AGinvest​ как применить.​ уже ответили. Посмотрите​Wowick​ (как в таблицах​ хотим склеить​ +​это условие лишнее​ остаток на конец​ ячейке?​все слова​ придется вводить вручную​ лист.​ больше 5 000 ₽, и​ помочь вам понять,​ средствам из арсенала​ формуле.​: Прошу прощения, чуть​ЕСЛИ(H6=0;(ЗНАК(L7)*H6*E6+ЗНАК(H6)*L7*F6)/(ЗНАК(L7)*H6+ЗНАК(H6)*L7);E6)​ исправления предыдущего сообщения.​
​: Тока совсем непонятно​ Word) придется использовать​Например:​
​товарищ Никитин +​ и её нужно​smile
​ периода.​RAN​в одной ячейке?​ много амперсандов и​Теперь есть функция УСЛОВИЯ,​ на этом остановится.​ что куда идет,​ Excel.​
​Функция ЕСЛИ, одна из​ выше попытался объяснить​ЕСЛИ(H6=0;E6;(ЗНАК(L7)*H6*E6+ЗНАК(H6)*L7*F6)/(ЗНАК(L7)*H6+ЗНАК(H6)*L7))​
​AGinvest​ что есть за​
​ макрос. Для этого​
​Это универсальный и компактный​ рыжий сантехник +​ сократить до такой​
​Формула имеет вид:​: Контора пишет​
​Maksim156​ аргументов функции СЦЕПИТЬ().​
​ которая может заменить​ Это может быть​ окрашивая разными цветами​
​Ниже приведен пример довольно​ логических функций, служит​ что мне нужно​vikttur​: есть ячейки, L7​
​ значения А,В, С…​ откройте редактор Visual​ способ сцепки, работающий​ Витенька + телемастер​ формулы Код200?’200px’:»+(this.scrollHeight+5)+’px’);»>=B4+F4-K4​ С1= А1+В1-Д1, что​http://programmersforum.ru/showthread.php?t=235133​: да​ Это неудобно.​
​ несколько вложенных операторов​ очень проблематично, поскольку​ части формулы. Например,​ типичного вложенного оператора​ для возвращения разных​
​ в итоге…​: Подставил в исходный​ и H6. как​ Может их вот​ Basic на вкладке​
​ абсолютно во всех​

​ Жора +​​doctordremlen​ бы узнать количество​

​doctordremlen​​Maksim156​Избежать этого поможет дополнительный​

​ ЕСЛИ. Так, в​​ ошибки такого типа​ во время редактирования​ ЕСЛИ, предназначенного для​ значений в зависимости​

​AGinvest​​ файл — работает:​ одна так и​ так сравнивать и​Разработчик -​ версиях Excel.​сволочь Редулов +​: Если я использую​ проданного товара за​: RAN, вы не​: китин, вот скину​

​ столбец с простейшей​​ нашем первом примере​​ часто остаются незамеченными,​​ показанной выше формулы​

​ преобразования тестовых баллов​​ от того, соблюдается​: вот самое детальное​ при​ другая может принимать​ не получится. Ну​Visual Basic (Developer -​Для​ не вспомнить имени,​200?’200px’:»+(this.scrollHeight+5)+’px’);»>=B4+F4-K4​smile​ период.​

​ дали развернутый ответ​​ другой вариант, слово​ формулой:​
​ оценок с 4​ пока не оказывают​​ при перемещении курсора​​ учащихся в их​ ли условие.​ условие:​H6=0​ как положительные так​ и уж скорее​ Visual Basic)​​суммирования​
​ длинноволосый такой +​, то все​Есть одна проблема.​ ни тут ни​

​ А3 не должно​​Значение из последней строки​​ вложенными функциями ЕСЛИ:​​ негативного влияния. Так​ за каждую закрывающую​ буквенный эквивалент.​
​Синтаксис​Е6=82,1​

​показывает значение​​ и отрицательные значения.​ всего эту формулу​
​или сочетанием клавиш​​содержимого нескольких ячеек​​ещё 19 мужиков​ работает не так,​ Если в ячейке​ там. Зачем оффтопить?​smile

​ отображаться т.к. в​​ будет содержать желаемую​​=ЕСЛИ(D2>89;"A";ЕСЛИ(D2>79;"B";ЕСЛИ(D2>69;"C";ЕСЛИ(D2>59;"D";"F"))))​
​ что же вам​ скобку «)» тем​93;»A»;ЕСЛИ(B2>89;»A-«;ЕСЛИ(B2>87;»B+»;ЕСЛИ(B2>83;»B»;ЕСЛИ(B2>79;»B-«;ЕСЛИ(B2>77;»C+»;ЕСЛИ(B2>73;»C»;ЕСЛИ(B2>69;»C-«;ЕСЛИ(B2>57;»D+»;ЕСЛИ(B2>53;»D»;ЕСЛИ(B2>49;»D-«;»F»))))))))))))» />​ЕСЛИ(лог_выражение; значение_если_истина; [значение_если_ложь])​Н6=4(любое положительное) ,​Е6​ Только L7 может​ надо вручную набивать,​ Alt+F11, вставим в​ используют знак плюс​ + муж =​ как надо.​ Д1 нет данных,​_Boroda_​ В3 стоит 0​ текстовую строку (см.​
​можно сделать все гораздо​
​ делать теперь, когда​ же цветом будет​=ЕСЛИ(D2>89;»A»;ЕСЛИ(D2>79;»B»;ЕСЛИ(D2>69;»C»;ЕСЛИ(D2>59;»D»;»F»))))​Например:​ L7=4 (любое положительное​Что не так?​ быть еще и​ а не через​ нашу книгу новый​ «​ любовь!»​з.ы. Обратите внимание​ то в С1​: Держите 3 варианта:​китин​ файл примера).​
​ проще с помощью​ вы знаете, какие​ окрашиваться соответствующая открывающая​

​Этот сложный оператор с​​=ЕСЛИ(A2>B2;»Превышение бюджета»;»ОК»)​ в т.ч. и​ Где не так?​ равна нулю. Периодически​ буфер переносить…​ программный модуль (меню​+​В категории​

​ на столбец К.​​ показывается сумма А1​ функцией ЕСЛИ, условным​: во как получилось.монструозно​
​Возвращаясь к функции СЦЕПИТЬ()​

excelworld.ru

3 способа склеить текст из нескольких ячеек

​ одной функции ЕСЛИМН:​ трудности могут ожидать​ скобка. Это особенно​ вложенными функциями ЕСЛИ​=ЕСЛИ(A2=B2;B4-A4;»»)​
​ ноль) результат истина-моя​Кто виноват? Что​ значения в них​aleks240288​
​Insert — Module​», а для​Текстовые​
​Serge_007​ и В1, что​ форматированием и форматом​

Способ 1. Функции СЦЕПИТЬ, СЦЕП и ОБЪЕДИНИТЬ

​200?’200px’:»+(this.scrollHeight+5)+’px’);»>=СЦЕПИТЬ(ЕСЛИ(B1>0;A1&»,»;»»);ЕСЛИ(B2>0;A2&»,»;»»);ЕСЛИ(B3>0;A3&»,»;»»);ЕСЛИ(B4>0;A4&»,»;»»);ЕСЛИ(B5>0;A5&»,»;»»))​​ можно обнаружить, что​​=ЕСЛИМН(D2>89;»A»;D2>79;»B»;D2>69;»C»;D2>59;»D»;ИСТИНА;»F»)​​ вас при использовании​​ удобно в сложных​ следует простой логике:​Имя аргумента​ формула.лож не нужна.​ делать?​ меняются. то есть​: Это группа продаваемости​

Склейка текста функцией СЦЕПИТЬ

​) и скопируем туда​склеивания​есть функция​: Так я и​ не правильно. В​ ячейки​Maksim156​

​ она может вернуть​Функция ЕСЛИМН — просто находка!​ вложенных операторов ЕСЛИ?​ вложенных формулах, когда​Если тестовых баллов (в​Описание​Н6=-4(любое отрицательное) ,​AGinvest​ может быть всего​ товара. Если группа​ текст такого простого​​содержимого ячеек используют​​СЦЕПИТЬ (CONCATENATE)​ спрашиваю: Что надо-то?​ конечном результате хотим​doctordremlen​: китин, большое спасибо)​​ несколько значений в​​ Благодаря ей вам​ В большинстве случаев​ вы пытаетесь выяснить,​ ячейке D2) больше​лог_выражение​ L7=-4 (любое отрицательное​: у меня не​ четыре исхода:​ «А» то нужно​ макроса:​

Склейка функцией СЦЕП

​ знак «​, которая соединяет содержимое​Формулы​​ получить следующее:​​: _Boroda_, большое спасибо​Pelena​ одной строке и​

​ больше не нужно​ вместо сложной формулы​

​ достаточно ли в​

  • ​ 89, учащийся получает​​   ​ в т.ч. и​ робит(( ты какую​
  • ​я напишу знаки​ умножить на 3,​Sub MergeToOneCell() Const​&​
  • ​ нескольких ячеек (до​​200?’200px’:»+(this.scrollHeight+5)+’px’);»>=ЕСЛИ(K4=Т(K4);0;B4+F4-K4)​если в ячейке​ за формулу. Вот​

​: Вот еще варианты​

Склейка текста функцией ОБЪЕДИНИТЬ

Способ 2. Символ для склеивания текста (&)

​ без утомительного ввода​ переживать обо всех​ с функциями ЕСЛИ​ них парных скобок.​

​ оценку A.​​(обязательный)​​ ноль) результат истина-моя​ формулу вставил?​ одной и другой​​ так как запас​​ sDELIM As String​​» (расположен на большинстве​​ 255) в одно​иКод200?’200px’:»+(this.scrollHeight+5)+’px’);»>=B4+F4-K4возвращают абсолютно одинаковый​​ Д1 нет данных,​​ только не понял​ СЦЕПИТЬЕСЛИ()​ многочисленных аргументов. Для​ этих операторах ЕСЛИ​ можно использовать функцию​

  • ​Ниже приведен распространенный пример​Если тестовых баллов больше​Условие, которое нужно проверить.​ формула.лож не нужна.​Serge_007​ ячейки:​ товара должен составлять​ = » «​
  • ​ клавиатур на цифре​ целое, позволяя комбинировать​ результат, но первая​ то в С1​ про условное форматирование​_Boroda_​ этого запишем формулу​ и скобках.​ ВПР. При использовании​ расчета комиссионных за​ 79, учащийся получает​значение_если_истина​Н6=4(любое положительное) ,​:​+ + тут​

​ 3 месяца и.т.д.​ ‘символ-разделитель Dim rCell​ «7»). При его​ их с произвольным​ Вам подходит, а​

Сцепка текста амперсандом

​ их тоже не​ и формат ячейки.​: Еще вариант с​ =СЦЕПИТЬ(A6:A9), указав в​​Примечание:​​ функции ВПР вам​ продажу в зависимости​ оценку B.​

Склейка ФИО

Способ 3. Макрос для объединения ячеек без потери текста.

​   ​ L7=-4 (любое отрицательное​200?’200px’:»+(this.scrollHeight+5)+’px’);»>=ЕСЛИ(H6=0;0;(ЗНАК(L7)*H6*E6+ЗНАК(H6)*L7*F6)/(ЗНАК(L7)*H6+ЗНАК(H6)*L7))​ истина 1, лож1​Вот сама таблица.​ As Range Dim​ использовании необходимо помнить,​ текстом. Например, вот​​ вторая почему-то нет​ должно быть;​doctordremlen​​ доп. столбцом.​ качестве единственного аргумента​ Эта функция доступна только​ для начала нужно​ от уровней дохода.​Если тестовых баллов больше​(обязательный)​

​ в т.ч. и​AGinvest​- — тут​китин​ sMergeStr As String​ что:​ так:​​doctordremlen​ ​если в ячейке​: Как по мне,​​Нравится мне тем,​ весь диапазон сразу,​ при наличии подписки​ создать ссылочную таблицу:​​=ЕСЛИ(C9>15000;20%;ЕСЛИ(C9>12500;17,5%;ЕСЛИ(C9>10000;15%;ЕСЛИ(C9>7500;12,5%;ЕСЛИ(C9>5000;10%;0)))))​​ 69, учащийся получает​Значение, которое должно возвращаться,​ ноль, диапазон от​

​: попробую.​ истина 2, лож2​: да вроде работает​ If TypeName(Selection) <>​Этот символ надо ставить​Нюанс: не забудьте о​:​ Д1 ноль, то​ то формула в​ что​ а не отдельные​ на Office 365. Если​=ВПР(C2;C5:D17;2;ИСТИНА)​Эта формула означает: ЕСЛИ(ячейка​ оценку C.​ если​ нуля до Н6​Е6=82,1​+ — тут​200?’200px’:»+(this.scrollHeight+5)+’px’);»>=ЕСЛИ(B14=»А»;J14/H14*3;ЕСЛИ(B14=»В»;J14/H14*2;J14/H14*1))-K14-P14​ «Range» Then Exit​ в каждой точке​ пробелах между словами​200?’200px’:»+(this.scrollHeight+5)+’px’);»>=ЕСЛИ(K4=Т(K4);0;B4+F4-K4)​ в С1 мы​ столбцах I и​1. любое количество​ ячейки. В результате​

​ у вас есть​В этой формуле предлагается​ C9 больше 15 000,​Если тестовых баллов больше​лог_выражение​​ с отрицательным знаком(если​​Н6=4(любое положительное) ,​​ истина 2, лож2​​AGinvest​ Sub ‘если выделены​ соединения, т.е. на​ — их надо​При использовании этой​

planetaexcel.ru

Написания нескольких формул в одной ячейке (Формулы)

​ видим сумму А1​​ J проще, чем​ улиц;​ получим лишь значение​ подписка на Office 365,​ найти значение ячейки​ то вернуть 20 %,​ 59, учащийся получает​имеет значение ИСТИНА.​ Н6=6, то L7​ L7=4 (любое положительное​- + тут​: Добрый день!​ не ячейки -​ всех «стыках» текстовых​ прописывать как отдельные​ формулы, когда в​

​ и В1.​​ два других варианта.​​2. без использования​​ первой ячейки.​ убедитесь, что у​

​ C2 в диапазоне​​ ЕСЛИ(ячейка C9 больше​ оценку D.​значение_если_ложь​ может быть 0-1-2-3-4-5-6))​ в т.ч. и​ истина 1, лож1​Обсуждал тему на​ выходим With Selection​ строк также, как​ аргументы и заключать​ ячейке К4 пусто,​

​Как-то так. Спасибо.​​ Если в столбце​ макросов.​Теперь в Строке формул​ вас установлена последняя​ C5:C17. Если значение​ 12 500, то вернуть​В противном случае учащийся​
​   ​

​ результат истина не​​ ноль) результат истина-моя​​формула считает, истины​

excelworld.ru

Несколько условий ЕСЛИ в одной ячейке

​ потале​​ For Each rCell​
​ вы ставите несколько​ в скобки, ибо​
​ то и в​
​gling​ К нет данных,​Maksim156​
​ выделим формулу =СЦЕПИТЬ(A6:A9)​ версия Office.​ найдено, возвращается соответствующее​ 17,5 % и т. д…​ получает оценку F.​(необязательный)​ нужна.лож равна Е6.​ формула.лож не нужна.​
​ все правильные, только​http://www.programmersforum.ru/showthread.php?t=207744&page=5​ In .Cells sMergeStr​ плюсов при сложении​ текст.​ I4 выставляется ноль.Если​: [=ЕСЛИ(K4=»»;»»;B4+F4-K4)] если правильно​ то в I​: _Boroda_, да так​

​ и нажмем клавишу​​Видео: расширенное применение функции​

​ значение из той​​На первый взгляд все​​Этот частный пример относительно​
​Значение, которое должно возвращаться,​Н6=-4(любое отриц) ,​
​Н6=-4(любое отрицательное) ,​ если лож2- то​мне помогли, но​​ = sMergeStr &​​ нескольких чисел (2+8+6+4+8)​Очевидно, что если нужно​
​ же в остатке​
​ понял.​
​ и J тоже​​ еще лучше)​​ F9. Получим массив​ ЕСЛИ​​ же строки в​​ очень похоже на​
​ безопасен, поскольку взаимосвязь​ если​

​ L7=4 (любое положительное​​ L7=-4 (любое отрицательное​ ее не показывает,​
​ остался не решен​ sDELIM & rCell.Text​

​Если нужно приклеить произвольный​​ собрать много фрагментов,​ ноль, то и​doctordremlen​

​ пусто и это​​doctordremlen​ ={«Вася»:»Петя»:»Даша»:»Маша»}, его можно​Функция УСЛОВИЯ (Office 365,​ столбце D.​ предыдущий пример с​ между тестовыми баллами​лог_выражение​ в т.ч. и​ в т.ч. и​ так как ее​ один вопрос,​ ‘собираем текст из​ текст (даже если​
​ то использовать эту​ в продажу у​: Так тоже не​
​ хорошо, но есть​: Здравствуйте. Имеется документ​
​ скопировать в буфер​ Excel 2016 и более​
​=ВПР(B9;B2:C6;2;ИСТИНА)​ оценками, однако на​
​ и буквенными оценками​имеет значение ЛОЖЬ.​
​ ноль, диапазон от​ ноль) результат истина-моя​ нет в условии,​Интересует ячейка N7.​ ячеек Next rCell​ это всего лишь​ функцию уже не​
​ нас идет сумма​ работает.​ большое но. Если​ для контроля прихода​

​ обмена (без знака​​ поздние версии)​Эта формула ищет значение​

​ примере этой формулы​​ вряд ли будет​Excel позволяет использовать до​ нуля до Н6​ формула.лож не нужна.​ как ее добавить?​ все истины считает,​

​ Application.DisplayAlerts = False​​ точка или пробел,​ очень удобно, т.к.​ начального остатка и​gling​ в ячейку К9​ и расхода товара.​ = и фигурных​Функция СЧЁТЕСЛИ (подсчитывает​

​ ячейки B9 в​​ хорошо видно, насколько​
​ меняться, так что​

​ 64 вложенных функций​
​ с положит знаком(если​

​Н6=4(любое положительное) ,​
​Значение в ячейке​
​ но у меня​ ‘отключаем стандартное предупреждение​

​ не говоря уж​​ придется прописывать ссылки​ прихода (B4+F4). Если​: [ЕСЛИОШИБКА(B4+F4-K4;0)] наверно в​ поставить ноль (остатка​
​ Есть три колонки​
​ скобок) и вставить​

​ значения с учетом​​ диапазоне B2:B22. Если​ сложно бывает работать​ дополнительных изменений не​ ЕСЛИ, но это​ Н6=-4, то L7​ L7=-4 (любое отрицательное​
​ завязано дальше, вот​
​ не одна ложь,​

​ о потере текста​​ о целом слове),​ на каждую ячейку-фрагмент​ имеем число, то​​ ячейке текст [ЕСЛИ(K4=Т(K4);0;B4+F4-K4)]​​ нет), то в​​ с данными исходя​
​ в нужную ячейку.​ одного условия)​
​ значение найдено, возвращается​ с большими операторами​smile

​ потребуется. Но что​​ вовсе не означает,​ может быть 0​ в т.ч. и​

​ тут ступор и​​ а две. Как​​ .Merge Across:=False 'объединяем​

​ то этот текст​​ по отдельности. Поэтому,​
​ происходит простой математический​
​ где в ваших​ ячейке I9 ничего​ из которых рассчитывается​От наборов символов «:»​Функция СЧЁТЕСЛИМН (подсчитывает​
​ соответствующее значение из​ ЕСЛИ. Что вы​ если вам потребуется​ что так и​ 1 2 3​
​ ноль, диапазон от​ получается.​ мне добавить вторую​ ячейки Application.DisplayAlerts =​ надо заключать в​ начиная с 2016​ расчет. Как я​ примерах такие ячейки?​ нет, а должна​ сумма выручки -​
​ (двойные кавычки, двоеточие​ значения с учетом​ той же строки​ будете делать, если​ разделить оценки на​ надо делать. Почему?​ 4)) результат истина​ нуля до Н6​AGinvest​ ложь в условие​ True .Item(1).Value =​ кавычки. В предыдущем​
​ версии Excel, на​ и хотел изначально​
​doctordremlen​ быть сумма остатка​ I4=B4+F4-K4.​ и опять двойные​ нескольких условий)​

​ в столбце C.​​ ваша организация решит​ A+, A и​Нужно очень крепко подумать,​ не нужна.лож равна​

​ с отрицательным знаком(если​​: попробую применить вашу​​ формулы?​​ Mid(sMergeStr, 1 +​ примере с функцией​ замену функции​ видеть.​
​: Залил документ еще​
​ на начало и​​B -начальный остаток;​​ кавычки) можно избавиться​

​Функция СУММЕСЛИ (суммирует​​Примечание:​ добавить новые уровни​ A– (и т. д.)?​ чтобы выстроить последовательность​

​ Е6.​​ Н6=6, то L7​ формулу)​
​Если ли Гуру​
​ Len(sDELIM)) ‘добавляем к​ СЦЕПИТЬ о кавычках​СЦЕПИТЬ​Код200?’200px’:»+(this.scrollHeight+5)+’px’);»>=B4+F4-K4​ раз. Обратите внимание​
​ прихода. А условное​F — приход;​ с помощью функции​ значения с учетом​ В обеих функциях ВПР​
​ компенсаций или изменить​ Теперь ваши четыре​ из множества операторов​вот по такой​ может быть 0-1-2-3-4-5-6))​AGinvest​ с выше сказанного​ объед.ячейке суммарный текст​ заботится сам Excel​пришла ее более​
​При использовании этой​ на столбец I​ форматирование и формат​K — конечный​ ПОДСТАВИТЬ() (см. файл​ одного условия)​ в конце формулы​ имеющиеся суммы или​ условных оператора ЕСЛИ​ ЕСЛИ и обеспечить​ схеме нужно.​ результат истина не​
​: не получается, при​ форума видят это​

excelworld.ru

​ End With End​

Функция в функции в Excel

Пример 1: Два условия

Для создания функций в функции Excel можно использовать окно вставки или отдельное поле в главном окне. Пример с двумя условиями проще всего выполнить при помощи первого варианта. Допустим, у нас есть числа в отдельной таблице, при достижении определенного среднего значения которых в отдельной ячейке должна показаться сумма чисел других блоков. Для этого потребуется определиться с первым списком чисел, что видно на прикрепленном ниже скриншоте.

Набор чисел для среднего значения при создании функции в функции Excel

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

Набор чисел для суммы при создании функций в функции Excel

Подобная реализация пригодится во многих ситуациях, например, при бухгалтерских расчетах или составлении сметы. В любом случае, это всего лишь пример того, как может выглядеть функция в функции, а пользователь уже сам решает, как эту возможность адаптировать под себя.

  1. Создадим функцию через отдельное окно, нажав по кнопке с тематическим значком.
  2. Кнопка для открытия Мастера функции при работе с программой Excel

  3. Пример базируется на корневой функции «ЕСЛИ», поэтому в окне «Вставка функции» выберите именно ее.
  4. Выбор формулы в Мастере функции при создании корневой функции в Excel

  5. В качестве логического выражения записывайте функцию, считающую среднее значение и определяющую, больше ли оно указанного числа. Тогда строка обретет вид СРЗНАЧ(A1:A6)>300, где A1 и A6 — диапазон захватываемых ячеек, > — знак «больше», а 300 — целевое среднее значение, являющееся истинным.
  6. Ввод логического выражения для функции в функции Excel

  7. Другая функция, используемая внутри корневой, называется «СУММ» — она и будет выводить сумму чисел при истинном значении, поэтому записывается во втором поле в представлении СУММ(C1:D1:E1:F1).
  8. Ввод истинного значения для функции в функции Excel

  9. Если среднее значение не соответствует требованию, выведем любое оповещающее сообщение, например «недостача». Проверьте правильность написания функций и сохраните результат.
  10. Ввод ложного значения для функции в функции Excel

  11. Сейчас функция ЕСЛИ находится в состоянии «истина», а значит, в заданной клетке отобразится сумма указанного диапазона.
  12. Результат первого примера создания функции в функции Excel

  13. Если же условия ложные, всплывет указанное сообщение или 0.
  14. Ложный результат первого примера создания функции в функции Excel

  15. Исходя из увиденного примера, становится понятно, что внутри той же функции ЕСЛИ можно вписать и любую другую функцию, что и выполняет условие рассматриваемой темы. Попробуйте провести эксперименты и заменить рассмотренную функцию на другую, вписав внутри необходимые данные, не забывая и про синтаксис программы.

Еще больше информации об используемом Мастере функций читайте в развернутой инструкции на нашем сайте, где находятся все необходимые сведения, иллюстрирующие работу с инструментом.

Подробнее: Мастер функций в программе Microsoft Excel

Пример 2: Три и более условий

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

Lumpics.ru

  1. Создадим отдельную формулу при использовании все той же корневой функции ЕСЛИ.
    Обзор второго примера создания функции в функции Excel
  2. Начните создавать формулу, нажав по нужной пустой ячейке и написав =ЕСЛИ(B2=C2;»Не изменилась»). Как можно понять, после открывающихся скобок идет первое условие, а при его истине выводится сообщение «Не изменилась».
  3. Начало заполнения корневой функции в функции Excel

  4. Поставьте знак ; и сразу же впишите новую функцию ЕСЛИ без знака =, где внутри содержится второе условие.
  5. Заполнение второго условия для функции в функции Excel

  6. Точно так же поступите с третьим условием и расставьте все закрывающиеся скобки.
  7. Заполнение третьего условия для функции в функции Excel

  8. При сохранении результата вы увидите, что сообщение показывается верно, а также сможете скопировать саму формулу для других ячеек, поменяв только сравнение целевых цен.
  9. Просмотр результата второго примера функции в функции Excel

Для лучшего понимания оставим полную строку формулы с функцией в функции в правильном ее виде =ЕСЛИ(B2=C2;»Не изменилась»;ЕСЛИ(B2C2;»Уменьшилась»))). Если требуется, скопируйте ее и используйте в своих целях, изменив условия и значения.

Еще статьи по данной теме:

Помогла ли Вам статья?

Дубликаты внутри ячейки

Про поиск и подсветку дубликатов в разных ячейках и диапазонах я уже не раз писал, но что делать если нужно найти и, возможно, удалить повторяющиеся слова внутри ячейки? Например, мы имеем вот такую таблицу с данными (разделителями могут быть не обязательно пробелы):

Исходные данные

Хорошо видно, что некоторые имена в списках внутри ячеек повторяются. Давайте посмотрим, что можно с этим сделать.

Способ 1. Ищем повторения: текст по столбцам и формула массива

Это не самый удобный и быстрый, но зато самый простой вариант решения задачи «на коленке». Выделим исходный список и разобъем его на столбцы по пробелам с помощью команды Данные — Текст по столбцам (Data — Text to columns). В открывшемся окне трёхшагового Мастера выберем формат По разделителю (By delimiter) на первом шаге и поставим флажок Пробел (Space) на втором:

Делим текст по пробелам

Если в исходных данных могут быть лишние пробелы, то лучше включить и опцию Считать последовательные разделители одним (Treat consecutive delimiters as one) — это избавит нас от лишних столбцов.

На третьем шаге в поле Поместить в зададим пустую ячейку рядом с таблицей, чтобы результаты не затёрли нам исходные данные и нажмём на Готово (Finish):

Выбираем место для вывода результатов

Наши данные разделятся по ячейкам. Останется подсчитать количество повторов в каждой строке с помощью небольшой, но хитрой формулы массива:

Формула подсчета количества повторов

В английской версии это будет =SUMPRODUCT(N(COUNTIF(B2:G2,B2:G2)>1))

Давайте разберём логику её работы на примере первой строки.

  1. Сначала мы с помощью формулы СЧЁТЕСЛИ(B2:G2;B2:G2) вычисляем по очереди количество вхождений каждого имени в диапазон B2:G2 и получаем на выходе массив {1,2,1,2,1}, т.к. Иван встречается в первой строке 1 раз, Елена — 2 раза, Сергей — 1 и т.д.
  2. Проверяем с помощью СЧЁТЕСЛИ(B2:G2;B2:G2)>1 какие из полученных чисел больше единицы, т.е. где у нас повторы. На выходе эта формула выдаст нам массив результатов проверки в виде {ЛОЖЬ, ИСТИНА, ЛОЖЬ, ИСТИНА, ЛОЖЬ}.
  3. Переводим логические значения ЛОЖЬ и ИСТИНА в более удобные для подсчета 0 и 1, соответственно, с помощью функции Ч. На выходе получаем массив {0,1,0,1,0}.
  4. Суммируем все элементы получившегося массива функцией СУММПРОИЗВ. Можно было бы использовать и обычную функцию СУММ, но тогда пришлось бы жать вместо привычного Enter сочетание клавиш Ctrl+Shift+Enter, чтобы ввести формулу как формулу массива.

По получившемуся столбцу можно легко отфильтровать строки с повторами и работать потом с ними дальше уже вручную.

Минусы такого способа, впрочем, весьма очевидны: при изменении в исходных данных придётся повторять всю процедуру заново, дубликаты не очень заметны и удалять их тоже надо врукопашную. Поэтому идём дальше.

Способ 2. Выделение цветом повторов внутри ячейки макросом

Если дубликаты нужно именно наглядно показать, то удобнее будет использовать для этого специальный макрос. Откроем редактор Visual Basic одноимённой кнопкой на вкладке Разработчик (Developer — Visual Basic) или сочетанием клавиш Alt+F11. Вставим в книгу новый пустой модуль через меню Insert — Module и скопируем туда вот такой код:

Sub Color_Duplicates()
    Dim col As New Collection
    Dim curpos As Integer, i As Integer
    On Error Resume Next

    For Each cell In Selection
        Set col = Nothing
        curpos = 1
        
        'убираем лишние пробелы и разбиваем текст из ячейки по пробелам
        arWords = Split(WorksheetFunction.Trim(cell.Value), " ")
        
        For i = LBound(arWords) To UBound(arWords)      'перебираем слова в получившемся массиве
            Err.Clear                                   'сбрасываем ошибки
            curpos = InStr(curpos, cell, arWords(i))    'позиция начала текущего слова
            col.Add arWords(i), arWords(i)              'пытаемся добавить текущее слово в коллекцию
            
            If Err.Number <> 0 Then         'если возникает ошибка - значит это повтор, выделяем красным
                cell.Characters(Start:=curpos, Length:=Len(arWords(i))).Font.ColorIndex = 3
                cell.Characters(Start:=InStr(1, cell, arWords(i)), Length:=Len(arWords(i))).Font.ColorIndex = 3
            End If
            curpos = curpos + Len(arWords(i))       'переходим к следующему слову
        Next i
    Next cell
End Sub

Теперь можно вернуться в главное окно Excel, выделить ячейки с текстом и запустить созданный макрос через кнопку Макросы на вкладке Разработчик (Developer — Macros) или сочетанием клавиш Alt+F8. Этот макрос проходит по всем выделенным ячейкам и помечает повторения красным цветом шрифта прямо внутри ячейки:

Выделение дубликатов внутри ячейки цветом

Если нужно, чтобы цветом выделялись только клоны, но не первые вхождения (т.е. только вторая и третья, но не первая Алиса, например), то достаточно будет просто убрать из кода строку 20.

Способ 3. Выводим повторы в соседний столбец

Если повторы внутри ячеек нужно не просто подсветить, а явным образом вывести, например, в соседний столбец, то удобнее будет использовать для этого макрофункцию, созданную по образу предыдущего макроса. Добавим в редакторе Visual Basic новый модуль и вставим туда код нашей функции GetDuplicates:

Function GetDuplicates(cell As Range) As String
    Dim col As New Collection
    Dim i As Integer, sDupes As String
    
    On Error Resume Next
    Set col = Nothing
        
    'делим текст в ячейке по пробелам
    arWords = Split(WorksheetFunction.Trim(cell.Value), " ")
        
    'проходим в цикле по всем получившимся словам
    For i = LBound(arWords) To UBound(arWords)
        Err.Clear                           'сбрасываем ошибки
        col.Add arWords(i), arWords(i)      'пробуем добавить слово в коллекцию
        'если ошибки не возникает, то это не повтор - добавляем слово к результату
        If Err.Number <> 0 Then sDupes = sDupes & " " & arWords(i)
    Next i
    GetDuplicates = Trim(sDupes)      'выводим результаты
End Function

Эта функция, как легко догадаться, принимает в качестве единственного аргумента ячейку с текстом и выводит в качестве результата все повторы, которые там найдет:

Макрофункция для выявления повторов внутри ячейки

Способ 4. Удаление повторов внутри ячейки макросом

Если нужно просто удалить дубликаты внутри ячейки, чтобы все оставшиеся там слова не повторялись, то макрос будет похож на предыдущий, но попроще:

Sub Delete_Duplicates()
    Dim col As New Collection
    Dim i As Integer
    On Error Resume Next

    For Each cell In Selection
        Set col = Nothing
        sResult = ""
        
        'делим текст в ячейке по пробелам
        arWords = Split(WorksheetFunction.Trim(cell.Value), " ")
        
        'проходим в цикле по всем получившимся словам
        For i = LBound(arWords) To UBound(arWords)
            Err.Clear                           'сбрасываем ошибки
            col.Add arWords(i), arWords(i)      'пробуем добавить слово в коллекцию
            'если ошибки не возникает, то это не повтор - добавляем слово к результату
            If Err.Number = 0 Then sResult = sResult & " " & arWords(i)
        Next i
        cell.Value = Trim(sResult)      'выводим результаты без повторов
    Next cell
End Sub

Способ 5. Удаление повторов внутри ячейки через Power Query

Этот способ использует бесплатную надстройку Excel для обработки данных под названием Power Query. Для Excel 2010-2013 скачать её можно с сайта Microsoft, а в Excel 2016-2019 она уже встроена по умолчанию. Огромным плюсом этого варианта является возможность автоматического обновления — если в будущем исходные данные изменятся, то нам не придется заново проделывать всю обработку (как в Способе 1) или запускать макрос (как в Способе 4) — достаточно будет просто обновить созданный запрос.

Сначала наши данные нужно загрузить в Power Query. Проще всего для этого превратить нашу таблицу в «умную» сочетанием клавиш Ctrl+T или кнопкой Форматировать как таблицу на вкладке Главная (Home — Format as Table), а затем нажать кнопку Из таблицы/диапазона (From table/range) на вкладке Power Query (если у вас Excel 2010-2013) или на вкладке Данные (если у вас Excel 2016 или новее):

Загружаем таблицу в Power Query

Поверх окна Excel откроется окно редактора запросов Power Query с загруженными туда нашими данными:

Окно Power Query

Дальше делаем следующую цепочку действий:

Удаляем ненужный пока шаг Измененный тип (Changed Type) справа в панели применённых шагов с помощью крестика слева от шага.

Чтобы можно было потом идентифицировать принадлежность каждого имени к исходной строке — добавляем столбец с нумерацией строк на вкладке Добавление столбца — Столбец индекса — От 1 (Add Column — Index Column — From 1):

Добавляем столбец индекса

Выделяем столбец с именами и жмём на вкладке Преобразование — Разделить столбец — По разделителю (Transform — Split Column — By delimiter), а в открывшемся окне выбираем деление по каждому пробелу и — главное — деление на строки, а не на столбцы в расширенных параметрах:

Делим на строки по пробелу

После нажатия на ОК увидим следующее:

Разделенный текст

Теперь выделяем оба столбца (удерживая клавишу Ctrl или Shift) и удаляем дубликаты через Главная — Удалить строки — Удалить дубликаты (Home — Remove Rows — Remove Duplicates).

Осталось собрать всё обратно в ячейки :)   Для этого выделим столбец Индекс и используем команду Группировать по на вкладке Преобразование (Transform — Group By) со следующими параметрами:

Группируем

После нажатия на ОК наши имена сгруппируются во вложенные таблицы, имитирующие начальные ячейки — только уже без повторов. Увидеть содержимое свёрнутых таблиц можно, если щёлкнуть мышью в фон ячейки рядом со словом Table (но не в слово Table!):

Свернутые в таблицы исходные имена без повторов

Осталось вытащить все имена из первой колонки каждой таблицы и склеить их через пробел. Это можно сделать с помощью небольшой формулы на встроенном в Power Query языке М. Выберем на вкладке Добавление столбца команду Настраиваемый столбец (Add Column — Custom Column) и введём в открывшееся окно имя нового столбца и формулу (с соблюдением регистра!):

Извлекаем имена и склеиваем через пробел

=Text.Combine([Ячейки][Имена],» «)

Здесь выражение [Ячейки][Имена] извлекает содержимое столбца Имена из каждой таблицы в колонке Ячейки, а функция Text.Combine склеивает затем их все через заданный разделитель (пробел). После нажатия на ОК мы, наконец, увидим желаемое:

Развернутые списки

Осталось удалить ненужные более столбцы Индекс и Ячейки, щелкнув по их заголовкам правой кнопкой мыши и выбрав команду Удалить столбцы (Remove Columns) и выгрузить результаты на лист через Главная — Закрыть и загрузить — Закрыть и загрузить в (Home — Close & Load — Close & Load to..):

Результаты

Задача решена! Если в будущем данные в исходной «умной» таблице изменятся или к ней будут дописаны новые строки, то достаточно будет просто обновить запрос, щёлкнув по результирующей зелёной таблице правой кнопкой мыши и выбрав команду Обновить или нажав сочетание клавиш Ctrl+Alt+F5.

Ссылки по теме

  • Как найти и вывести отличия в двух списках в Excel
  • Как подсветить совпадающие пары дубликатов одинаковым цветом
  • Сравнение двух таблиц с помощью ВПР, сводной или Power Query

Понравилась статья? Поделить с друзьями:
  • Excel функция в одну строку
  • Excel функции если в этом столбце есть значения то
  • Excel функция будущая стоимость
  • Excel функции если youtube не
  • Excel функция больше либо равно