Как связать две формулы в excel

Обновлено: 17.04.2024

В этот солнечный нерабочий день пришла мне в голову одна мысль, которую я постараюсь сейчас изложить.
Часто, при решении поставленной задачи, большие многоэтажные формулы сложно написать сходу, поэтому я прописываю формулы поэтапно в несколько ячеек. После получения результата, все формулы "ручками" объединяю в одной ячейке (см. наглядный пример).
Вопрос в следующем: существует ли какой нибудь автоматизированный (надстройка, макрос, что-то еще) способ объединения формул в одну "многоэтажную"?

В этот солнечный нерабочий день пришла мне в голову одна мысль, которую я постараюсь сейчас изложить.
Часто, при решении поставленной задачи, большие многоэтажные формулы сложно написать сходу, поэтому я прописываю формулы поэтапно в несколько ячеек. После получения результата, все формулы "ручками" объединяю в одной ячейке (см. наглядный пример).
Вопрос в следующем: существует ли какой нибудь автоматизированный (надстройка, макрос, что-то еще) способ объединения формул в одну "многоэтажную"?

В этот солнечный нерабочий день пришла мне в голову одна мысль, которую я постараюсь сейчас изложить.
Часто, при решении поставленной задачи, большие многоэтажные формулы сложно написать сходу, поэтому я прописываю формулы поэтапно в несколько ячеек. После получения результата, все формулы "ручками" объединяю в одной ячейке (см. наглядный пример).
Вопрос в следующем: существует ли какой нибудь автоматизированный (надстройка, макрос, что-то еще) способ объединения формул в одну "многоэтажную"?

Кросс Автор - Russel
Дата добавления - 10.03.2014 в 10:35

Russel, да, достаточно сложный

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

Вобщем, какой смысл заморачиваться, если на VBA можно сразу получить результат, не используя функции листа Excel?

Russel, да, достаточно сложный

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

Вобщем, какой смысл заморачиваться, если на VBA можно сразу получить результат, не используя функции листа Excel? Serge_007

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

Вобщем, какой смысл заморачиваться, если на VBA можно сразу получить результат, не используя функции листа Excel? Автор - Serge_007
Дата добавления - 11.03.2014 в 20:18

Serge_007, мало чего понимаю в алгоритмах и в VBA, спасибо Вам за ликбез!
На всякий случай, если все-таки будет "спортивный" интерес, на соседнем форуме писал алгоритм:
Как на мой взгляд должен работать макрос:
1. Выделяем ячейки, участвующие в получении результата (в приложенном примере диапазон B7:B10);
2. Макрос пробегает по всем формулам и ищет ячейку, на которую не ссылается ни одна другая (В10) Макрос спрашивает, в какой из выделенных ячеек содержится окончательный результат (в приложенном примере В10);
3. Макрос просматривает формулу в найденной указанной ячейке, и подменяет ссылки на ячейки из первоначального диапазона их содержимым (естественно, без " text/javascript">$('div.msg_t:last').html($('div.msg_t:last').html().replace(/\[spoiler\]/ig,'

Serge_007, мало чего понимаю в алгоритмах и в VBA, спасибо Вам за ликбез!
На всякий случай, если все-таки будет "спортивный" интерес, на соседнем форуме писал алгоритм:
Как на мой взгляд должен работать макрос:
1. Выделяем ячейки, участвующие в получении результата (в приложенном примере диапазон B7:B10);
2. Макрос пробегает по всем формулам и ищет ячейку, на которую не ссылается ни одна другая (В10) Макрос спрашивает, в какой из выделенных ячеек содержится окончательный результат (в приложенном примере В10);
3. Макрос просматривает формулу в найденной указанной ячейке, и подменяет ссылки на ячейки из первоначального диапазона их содержимым (естественно, без " name">Russel

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

​Смотрите также​, непонятно. Может, Вы​ используем формулу: =ЛЕВСИМВ(C2;ПОИСК("​ объединяет текстовые значения​ кадрового отдела.​

Объединение данных с помощью символа "амперсанд" (&)

​ места, в которых​ две небольшие, расположенные​Вот мы и разобрались,​

​ необходимо перейти на​ нажмите по кнопке​ для других целей​Перейдите на вкладку «Главная».​

​ две. В этой​​ их можно удалить.​​вставить дополнительные слова​. Получилась такая формула.​

​ отчество заменить на​Данные из нескольких ячеек​ хотите соединить условия​ ";C2;1))​​ в одну строку.​​Фамилия – в данном​

Объединение данных с помощью функции СЦЕП

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

​ вкладку «Граница».​​ «Объединить и поместить​​ лучше воспользоваться другими​

​На панели инструментов нажмите​ статье будет рассказано​

​ Подробнее о б​перед имеющимися, то​=СЦЕПИТЬ(A1;" ";B1;" ";C1)​ инициалы, соединить слова​ можно объединить в​

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

Объединить слова из разных ячеек в текст Excel.

Четыре способа разделения ячейки на две в Excel

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

Как разделить ячейку на две

​ СЦЕПИТЬ по сравнению​ объедини тексты из​ По умолчанию столбцы​ на несколько смежных​ задачи не требует​ также выбрать тип​ каких-то специальных инструментов​ два смежных столбца.​ никаких действий. Чтобы​ категории: те, что​ считать.​ Получился такой список.​ варианте. Если нет​ Но, в таблице​&​ и что хотите​ том что, возможно​ с оператором &:​ ячеек столбцов таблицы​

Способ 1: через объединение ячеек

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

  1. ​Ограниченное максимальное количество объединяемых​ в общие строки.​ формат данных, что​
  2. ​Пример разделения ячеек:​ работе с табличным​ цвет.​
  3. ​ предусмотрено. Вам необходимо​
  4. ​Запустите программу.​ наглядно, рекомендуется выделить​ по диагонали, и​ строке переместить из​ или скопировать значение​

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

​ горизонтали. Долго не​ первые,​ формул, а первый​Формула будет такая.​Первый вариант.​ нужно объединить, и​ =СУММЕСЛИ(A23:A11418;"30X60";AG23:AG11418)&";"&СЧЁТЕСЛИ(AG24:AG1002;"​ Имеются 2 формулы​Функция объединяет только текстовые​ Для этой цели​Готово​

Способ 2: разделение объединенных ячеек

​ разделить.​ есть пошаговая инструкция,​После этого ячейка будет​ сначала построить структуру​ (латинские буквы, находящиеся​ действия:​ задерживаясь на нюансах,​перевернуть строку​ столбец и второй​ =A2&" "&B2&" "&C2​У нас такой​

  1. ​ нажмите клавишу ВВОД.​
  2. ​cfour4ik​ 1-я Код =СУММЕСЛИ(A23:A11418;"30X60";AG23:AG11418)​ значения, а оператор​ в примере должен​.​Важно:​
  3. ​ как это делать.​ разбита на две,​ таблицы и уже​ над первой строкой​
  4. ​Выделите диапазон ячеек, которые​ перейдем непосредственно к​. Например, в ячейках​

​ с формулами -​Объединить можно не​ список.​ Пример формулы:​: Вот что мне​ и 2-я Код​ & объединит любые​

  1. ​ использоваться оператор «&»​Объединение и отмена объединения​При разделении ячейки​Автор: Вадим Матузок​ и вы сможете​ потом вписывать в​
  2. ​ таблицы), выделите два​
  3. ​ входят в вашу​ методам того, как​ написано: в первой​ удалить.​
  4. ​ только слова, но​Нам нужно написать в​=A2&" "&B2​

​ было нужно спасибо​ =СЧЁТЕСЛИ(AG24:AG1002;" они находятся​ значения ячеек.​ (END вместо оператора​ ячеек​ ее содержимое заменит​Примечание:​ ввести в нее​ нее значения.​ столбца.​ таблицу.​ разделить ячейку на​ ячейке Иванова, во​Ещё один способ​ и цифры. Можно​ ячейке D1 ФИО​

Способ 3: разделение по диагонали с помощью форматирования

​.​ большое)​ в разных ячейках..Хотелось​Функция требует немного больше​ «+»), который позволяет​Слияние и разделение ячеек​ данные из следующей​ Мы стараемся как можно​ свои значения.​Мы уже установили, что​Находясь на главной вкладке​На панели инструментов нажмите​

  1. ​ две в Excel.​ второй - Мария.​ добавить текст, числа,​составить предложение из данных​
  2. ​ одним предложением. Пишем​
  3. ​Выделите ячейку, в которую​afa55177​
  4. ​ бы что бы​ затрат времени и​
  5. ​ объединять значения ячеек​ или данных​ ячейки, поэтому освободите​
  6. ​ оперативнее обеспечивать вас​Разбить ячейку по диагонали​ в Excel разделить​ приложения, нажмите по​ по кнопке «Границы».​Как говорилось ранее, чтобы​ Нам нужно написать​ символ к тексту​ ячеек в Excel​ в этой ячейке​
  7. ​ вы хотите вставить​: Имеются две ячейки.Первая​ эти 2 функции​ ресурсов как у​
  8. ​ в формулах:​Одна из самых популярных​

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

Способ 4: разделение по диагонали с помощью вставки фигуры

​Из выпадающего меню выберите​ разделить ячейку на​ в первой ячейке​ в ячейке, смотрите​.​ (D1) формулу. Нажимаем​ объединенные данные.​ формтат текст. Вторая​ работали в одной​

  1. ​ программы Excel (в​
  2. ​Как показано выше на​ операций в Exel​
  3. ​ листе.​ на вашем языке.​ помощью инструмента «Фигуры».​
  4. ​ две невозможно, придется​ кнопкой «Выравнивание».​ пункт «Все границы».​ две, необходимо прибегнуть​

​ Мария, во второй​ в статье "Добавить​Можно установить формулы​

Вместо заключения

​ на ячейку (активной​Введите выражение​ -дата. Необходимо соединить​ ячейке​ процессе вычислений с​ рисунке с помощью​ по работе с​На вкладке​ Эта страница переведена​ Однако стоит учитывать,​ информацию вписывать после,​Из появившегося выпадающего меню​Кстати, если вы хотите​ к некоторым ухищрениям.​ - Иванова. Как​ текст в ячейки​ в нужных ячейках​ сделаем).​= СЦЕП(​ две информации в​

Разделение ячейки

​ использованием сложных формул),​​ символа «&» можно​ текстом – это​данные​ автоматически, поэтому ее​ что это оптимальный​ однако если делить​ выберите строку «Объединить​ разделить ячейку на​ Это так, потому​ это сделать быстро​ с текстом Excel".​ бланка. Например, у​Заходим на закладке​.​ одну, с сохранением​:​ так и у​ соединить любые текстовые​ объединение текстовых строк.​в группе Работа​

​ текст может содержать​

​ вариант только в​ ее по диагонали,​ по строкам».​ две в Excel​ что ячейка –​ в большой таблице,​С помощью формул​ нас есть такой​ «Формулы» в раздел​Выберите первую ячейку, которую​ формата даты. При​cfour4ik​ пользователя (в процессе​ значения из разных​ Например, объединение нескольких​ с​ неточности и грамматические​

​ том случае, если​

Ячейки в Excel
Разделенные ячейки

Разделение содержимого ячейки на несколько ячеек

​ то никаких предварительных​Теперь вместо двух столбцов​ по горизонтали, тогда​

​ первичный структурный элемент,​​ смотрите в статье​ можно преобразовать список,​ список клиентов с​ «Библиотека функций», выбираем​ нужно объединить.​ попытки сцепления Excel​

​, как именно соединить?​​ ввода функции в​​ ячеек без использования​ слов в одну​​данными​​ ошибки. Для нас​​ ваша ячейка образована​​ действий предпринимать не​​ у вас один.​​ вам всего-навсего объединить​

​ и она не​​ "Как поменять местами​​ где имя, отчество​ адресами.​ – «Текстовые», и​​Для разделения объединяемых ячеек​​ преобразует дату в​

​ Если сложить результат,​ строку формул).​ функции: =СЦЕПИТЬ(). В​ строку. На практике​нажмите кнопку​​ важно, чтобы эта​​ путем объединения нескольких.​ нужно. А выполняется​ Именно в нем​​ две ячейки, находящиеся​​ может быть разбита​

​ столбцы в Excel".​​ и фамилия написаны​​Нам нужно составить предложение.​ выбираем функцию «СЦЕПИТЬ».​ используйте запятые, а​ число. Как сделать?​ то так и​Интересный факт! В Excel​ этом примере объединены​​ в процессе рутинной​​текст по столбцам​

См. также

​ статья была вам​Выделите нужную ячейку.​

​ все это путем​ вы можете разделить​

Лучшая альтернатива функции СЦЕПИТЬ и объединить текст в Excel

​ от нее справа​ надвое. Из-за этого​При работе в табличном​ полностью, в​ В ячейке пишем​ В появившемся окне​ для добавления пробелов,​Serge_007​ пишите Код =СУММЕСЛИ(A23:A11418;"30X60";AG23:AG11418)+СЧЁТЕСЛИ(AG24:AG1002;"​ нет обратной функции​ значения ячеек A2​ работы с Excel​. Откроется мастер пересчета​ полезна. Просим вас​

Как сцепить два текста в один с помощью и без функции Excel?

​На вкладку «Вставка» нажмите​ форматирования:​ ячейку на две.​

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

​cfour4ik​ РАСЦЕПИТЬ и нет​ и B2 с​ часто приходиться объединять​текста по столбцам​ уделить пару секунд​ по кнопке «Фигуры».​Откройте книгу и перейдите​

объединить имя и фамилию.

​ Чтобы это выполнить,​ этом случае инструкция​ объединить ячейки в​ пользователя возникают различные​

​ инициалами​=A2&" "&B2&" "&C2&"​ которые нам нужно​ текста — кавычки.​1. Читаем правила​: Слаживать ничего не​ специального символа оператора.​ добавленным между ними​ Имена и Фамилии​

пример решения задачи.

​.​ и сообщить, помогла​Из выпадающего списка выберите​ на лист, в​ вам необходимо:​ по выполнению будет​ таблице таким образом,​ задачи, однако даже​. Например, в ячейке​ "&"проживает по адресу"&"​ объединить в одно​Введите закрывающую скобку в​ форума​ нужно..просто нужно чтобы​ Для решения такой​

соединить любые текстовые значения.

​ символом пробела (указанный​ сотрудников в одну​Установите переключатель​ ли она вам,​
​ из категории «Линии»​ котором хотите поделить​Кликните по той ячейке,​ такой же.​ чтобы визуально нужные​ простое на первый​ написано.​ "&"г."&" "&D2&" "&"ул."&"​ предложение. Получилось так.​ конце формулы и​2. Выполняем пункт​ эти две разные​

​ задачи применяются формулы​

​ в формуле между​ ячейку.​С разделителями​

  1. ​ с помощью кнопок​ одноименный объект.​ ячейку.​
  2. ​ которую желаете разделить​Это был первый способ​ оказались разделенными.​ взгляд действие в​
  3. ​В соседнем столбце пишем​ "&E2&" "&"д."&" "&F2&"."​ФИО написаны без пробелов.​ нажмите клавишу ВВОД.​ 1​ по предназначению формулы​ с комбинациями текстовых​ кавычками как текстовое​В примере показанным на​, если выбран другой​
  • ​ выполняли так сказать​ функций. Например маркером​ значение).​
  • ​ рисунке таблица содержит​ вариант, и нажмите​ удобства также приводим​

​ проведите линию от​Нажмите затем правую кнопку​ чтобы она находилась​ две. Если вам​ должна будет выглядеть​

Объединение двух формул в одну ячейку

​ так просто, как​​=СЦЕПИТЬ(ЛЕВСИМВ(СЖПРОБЕЛЫ(A1);НАЙТИ(" ";СЖПРОБЕЛЫ(A1);1));ПСТР(СЖПРОБЕЛЫ(A1);НАЙТИ(" ";СЖПРОБЕЛЫ(A1);1)+1;1);".";ПСТР(СЖПРОБЕЛЫ(A1);НАЙТИ("​По такому принципу составляем​ формулу нужно доработать.​=CONCAT(A2, " Семья")​AndreTM​ свои обязанности в​ для расцепления текста​Для объединения текстов в​ первые два столбца:​ кнопку​ ссылку на оригинал​ одного угла к​ мыши.​ в столбце, который​ необходимо сделать, например,​ в итоге.​

​ кажется. Так, многие​​ ";СЖПРОБЕЛЫ(A1);НАЙТИ(" ";СЖПРОБЕЛЫ(A1);1)+1)+1;1);".")​​ любые предложения.​​ Между адресами ячеек​.​:​ одной ячейке​

​ послужит символ пробела​​ одну строку программа​Имя – ячейки в​Далее​ (на английском языке).​ другому.​В контекстном меню выберите​ получился после объединения.​

​ шапку таблицы, то​​Выделите две ячейки над​​ испытывают проблемы при​​Получилось.​Если текст в​ после точки с​Список в Excel​200?'200px':''+(this.scrollHeight+5)+'px');">=A1&" "&ТЕКСТ(B1;"ДД.ММ.ГГГ")&" г."​​Казанский​​ « » ,​ Excel предлагает встроенную​​ этой колонке содержат​.​
​Последнее обновление: 12.12.2015​

​После этого ячейка будет​ опцию «Формат ячеек».​Перейдите на вкладку «Главная».​ он подойдет как​ теми, которые предполагаются​ попытке разделить ячейку​Если между словами​ ячейках уже написан,​

​ запятой написать​​можно корректировать формулами​afa55177​:​

Соединить два текса из разных ячеек в одну (дата) (Форматирование/Formattings)

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

​ в Excel на​​ появились лишние пробелы,​
​ но нам нужно​" "​
​ – имя и​: СПАСИБО. ​
​cfour4ik​

​чтобы расцепить только имя​​=СЦЕПИТЬ(A2;" ";B2), которая​ ​ из базы картотек​

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

Слияние списков без дубликатов

Давайте традиционно рассмотрим несколько способов решения такой распространенной задачи - от примитивных "в лоб" до более сложных, но изящных.

Способ 1. Удаление дубликатов

Можно решить задачу самым простым путем - руками скопировать элементы обоих списков в один и применить потом к полученному набору инструмент Удалить дубликаты с вкладки Данные (Data - Remove Duplicates) :

Удаление дубликатов в общем списке

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

Способ 1а. Сводная таблица

Этот способ является, по сути, логическим продолжением предыдущего. Если списки не очень большого размера и заранее известно предельное количество элементов в них (например, не больше 10), то можно объединить две таблицы в одну прямыми ссылками, добавить справа столбец с единичками и построить по получившейся таблице сводную:

Объединение сводной таблицей

Как известно, сводная таблица игнорирует повторы, поэтому на выходе мы получим объединенный список без дубликатов. Вспомогательный столбец с 1 нужен только потому, что Excel умеет строить сводные по таблицам, содержащим, по крайней мере, два столбца.

При изменении исходных списков новые данные по прямым ссылкам попадут в объединенную таблицу, но сводную придется обновить уже вручную (правой кнопкой мыши - Обновить). Если не нужен пересчет "на лету", то лучше воспользоваться другими вариантами.

Способ 2. Формула массива

Можно решить проблему формулами. В этом случае пересчет и обновление результатов будет происходить автоматически и мгновенно, сразу после изменений в исходных списках. Для удобства и краткости давайте дадим нашим спискам имена Список1 и Список2, используя Диспетчер имен на вкладке Формулы (Formulas - Name Manager - Create) :

Присвоение имен спискам

После именования, нужная нам формула будет выглядеть следующим образом:

Формула массива для слияния двух списков без дубликатов

На первый взгляд выглядит жутковато, но, на самом деле, все не так страшно. Давайте я разложу эту формулу на несколько строк, используя сочетание клавиш Alt+Enter и отступы пробелами, как мы делали, например тут:

Формула массива в разборе

Логика тут следующая:

Уникальные из списка1

Обратите внимание, что это формула массива, т.е. после набора ее нужно ввести в ячейку не обычным Enter , а сочетанием клавиш Ctrl + Shift + Enter и затем скопировать (протянуть) вниз на нижестоящие ячейки с запасом.

В английской версии Excel эта формула выглядит как:

=IFERROR(IFERROR(INDEX(Список1, MATCH(0, COUNTIF($E$1:E1, Список1), 0)), INDEX(Список2, MATCH(0, COUNTIF($E$1:E1, Список2), 0))), "")

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

Способ 3. Power Query

Если в ваших исходных списках большое количество элементов, например, по несколько сотен или тысяч, то вместо медленной формулы массива лучше использовать принципиально другой подход, а именно - инструменты надстройки Power Query. Эта надстройка по умолчанию встроена в Excel 2016. Если у вас Excel 2010 или 2013, то ее можно отдельно скачать и установить (бесплатно).

Алгоритм действий следующий:

  1. Открываем отдельную вкладку установленной надстройки Power Query (если у вас Excel 2010-2013) или просто идем на вкладку Данные (если у вас Excel 2016).
  2. Выделяем первый список и жмем кнопку Из таблицы/диапазона (From Range/Table) . На вопрос про создание из нашего списка "умной таблицы" - соглашаемся:

Вводим список в Power Query

Сохраняем запрос

Создаем подключение

Объединяем запросы

Параметры слияния

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

В этой статье описан метод объединения нескольких промежуточных формул для создания одной длинной формулы (мегаформулы). Если вы уже поработали в Excel определенное время, то могли видеть длинные формулы, которые были практически непонятны. Здесь вы узнаете, как они были созданы.

Поставим цель создать одну формулу, которая удаляет отчество (например, Иван Павлович Петров становится Иваном Петровым). На рис. 125.1 показан лист с некоторыми именами и шесть столбцов промежуточных формул, которые выполняют задачу. Обратите внимание, что формулы несовершенны: они не могут обрабатывать имя из одного слова.

Рис. 125.1. Удаление средних имен и инициалов требует указания шести промежуточных формул или одной мегаформулы

Рис. 125.1. Удаление средних имен и инициалов требует указания шести промежуточных формул или одной мегаформулы

Формулы, введенные в строке 2, приведены в таблице ниже.

Ячейка Промежуточная формула Действие
B2 =СЖПРОБЕЛЫ(A2) Удаляет избыточные пробелы
C2 =НАЙТИ(" ";A2;1) Находит первый пробел
D2 =НАЙТИ(" ";B2;C2+1) Находит второй пробел, если он есть
E2 =ЕСЛИОШИБКА(D2;C2) Использует первый пробел, если нет второго
F2 =ЛЕВСИМВ(B2;C2) Извлекает имя
G2 =ПРАВСИМВ(B2;ДЛСТР(B2)-E2) Извлекает фамилию
H2 =F2&G2 Объединяет имя и фамилию


Затратив немного времени, вы можете исключить все промежуточные формулы и заменить их одной мегаформулой. Это можно сделать путем создания всех промежуточных формул и последующего редактирования окончательной формулы (в данном случае формулы в столбце Н) с заменой каждой ссылки на ячейку копией формулы в этой ячейке. К счастью, вы можете использовать буфер обмена для копирования и вставки формул, а не вводить их заново. Продолжайте этот процесс, пока ячейка H1 не станет содержать ничего, кроме ссылки на ячейку А1. В конечном итоге у вас получится следующая мегаформула в одной ячейке:

=ЛЕВСИМВ(СЖПРОБЕЛЫ(A2);НАЙТИ(" ";СЖПРОБЕЛЫ(A2);1))&ПРАВСИМВ(СЖПРОБЕЛЫ(A2);ДЛСТР(СЖПРОБЕЛЫ(A2))-ЕСЛИОШИБКА(НАЙТИ(" ";СЖПРОБЕЛЫ(A2);НАЙТИ(" ";СЖПРОБЕЛЫ(A2);1)+1);НАЙТИ(" ";СЖПРОБЕЛЫ(A2);1)))

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

Если вам все еще не ясен описанный процесс, выполните его пошагово.

  1. Проверьте формулу в Н2. Она содержит две ссылки на ячейки (F2 и 62): =F2&G2
  2. Активизируйте ячейку G2 и скопируйте содержимое формулы (без знака равенства) в буфер обмена.
  3. Выберите ячейку Н2 и замените ссылку на ячейку G2 содержимым из буфера обмена. Теперь ячейка Н2 содержит следующую формулу:
    =F2&ПРАВСИМВ(B2; ДЛСТР(B2)-E2)
  4. Активизируйте ячейку F2 и скопируйте содержимое формулы (без знака равенства) в буфер обмена.
  5. Выберите ячейку Н2 и замените ссылку на ячейку F2 содержимым из буфера обмена. Теперь формула в ячейке Н2 следующая:
    =ЛЕВСИМВ(B2;C2)&ПРАВСИМВ(B2;ДЛСТР(B2)-E2)
  6. Ячейка Н2 на данный момент содержит ссылки на три ячейки (В2, С2 и Е2). Формулы в них заменяют каждую из ссылок на эти ячейки.
  7. Замените ссылку на ячейку Е2 формулой в Е2. В результате получаем:
    =ЛЕВСИМВ(B2;C2)&ПРАВСИМВ(B2;ДЛСТР(B2)-ЕСЛИОШИБКА(D2;C2))
  8. Скопируйте формулу из D2 и замените ссылки на ячейку D2.

Обратите внимание, что формула в ячейке Н2 теперь содержит ссылки только на ячейку А2. Мегаформула завершена и выполняет те же самые задачи, что и промежуточные формулы (которые теперь можно удалить). Вы можете, конечно, адаптировать этот метод для собственных нужд. Приятной особенностью является то, что одна мегаформула часто рассчитывается быстрее, чем несколько промежуточных формул.

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

В случае, когда нужно сделать ЕСЛИ ячейка 1 = х, то вариант ответа "А", если ячейка 1 = у, то вариант ответа "Б", если ячейка 1 = z, то вариант ответа "В" - я разобрался как сделать. Но столкнулся с проблемой, когда нужно описать Если ячейка 1 = х и вместе с этим ячейка 2 больше чем ячейка 3, то вариант - "А" и т.д. Т.е. несколько условий "ЕСЛИ" и "И".

В приложении пример и условие, что нужно посчитать (нужно вставить формулу в ячейку D5).

В случае, когда нужно сделать ЕСЛИ ячейка 1 = х, то вариант ответа "А", если ячейка 1 = у, то вариант ответа "Б", если ячейка 1 = z, то вариант ответа "В" - я разобрался как сделать. Но столкнулся с проблемой, когда нужно описать Если ячейка 1 = х и вместе с этим ячейка 2 больше чем ячейка 3, то вариант - "А" и т.д. Т.е. несколько условий "ЕСЛИ" и "И".

В приложении пример и условие, что нужно посчитать (нужно вставить формулу в ячейку D5). ArkaIIIa

В случае, когда нужно сделать ЕСЛИ ячейка 1 = х, то вариант ответа "А", если ячейка 1 = у, то вариант ответа "Б", если ячейка 1 = z, то вариант ответа "В" - я разобрался как сделать. Но столкнулся с проблемой, когда нужно описать Если ячейка 1 = х и вместе с этим ячейка 2 больше чем ячейка 3, то вариант - "А" и т.д. Т.е. несколько условий "ЕСЛИ" и "И".

В приложении пример и условие, что нужно посчитать (нужно вставить формулу в ячейку D5). Автор - ArkaIIIa
Дата добавления - 09.07.2013 в 10:42

Читайте также: