|
pruntoff Пользователь Сообщений: 10 |
Здравствуйте, возникла проблема, Как пример прикрепил файл. Прикрепленные файлы
Изменено: pruntoff — 24.11.2014 13:34:48 |
|
Сергей Пользователь Сообщений: 11251 |
пример так себе даже думать не охота Лень двигатель прогресса, доказано!!! |
|
vikttur Пользователь Сообщений: 47199 |
Есть за что зацепиться, кроме длины объединения? Почему диапазоны суммирования такие? |
|
pruntoff Пользователь Сообщений: 10 |
#4 24.11.2014 13:41:01
Боюсь нет
Я думал как записать, не получилось. может подскажете куда копать?
Ну я постарался передать суть. Потому что сами таблицы весят огого… |
||||||
|
vikttur Пользователь Сообщений: 47199 |
Любое матаматическое действие, если оно не «от фонаря», должно подчиняться определенной логике. |
|
Сергей Пользователь Сообщений: 11251 |
у вас пример 2 столбца с цифрами 3 с формулами все таки какая то логика должна присутствовать в их расстановке и объединении их в группы может впереди написано название федерального округа или области вощем чтобы что то подсказать нужно увидеть полную структуру документа со всеми столбцами Лень двигатель прогресса, доказано!!! |
|
pruntoff Пользователь Сообщений: 10 |
Не совсем понимаю. У меня в регионе 1: 2-е колонки данных, данные в них нужно проссумировать по каждой колонке (и записать в объединенную ячейку 1 и 2) и найти в «колонке 2» сумму 3-ех наибольших (записать в объединенную ячейку 3) |
|
vikttur Пользователь Сообщений: 47199 |
Вариант Прикрепленные файлы
|
|
ikki Пользователь Сообщений: 9709 |
#9 24.11.2014 13:53:44
+1 фрилансер Excel, VBA — контакты в профиле |
||
|
Сергей Пользователь Сообщений: 11251 |
Покурил выпил кофе чуть подумал Прикрепленные файлы
Лень двигатель прогресса, доказано!!! |
|
pruntoff Пользователь Сообщений: 10 |
Я понял, все негодуют про примеры Сергей , vikttur спасибо большое, логику я вроде понял, сейчас посмотрю. Но все равно каждую формулу руками придется забивать или я что-то не понял? Прикрепленные файлы
Изменено: pruntoff — 24.11.2014 14:34:02 |
|
Сергей Пользователь Сообщений: 11251 |
по объединенным с разным количеством ячеек вы однозначно единую формулу не протянете не даст вам эксель её протянуть Лень двигатель прогресса, доказано!!! |
|
Владимир Пользователь Сообщений: 8196 |
Проблема — как размножить формулу? «..Сладку ягоду рвали вместе, горьку ягоду я одна.» |
|
pruntoff Пользователь Сообщений: 10 |
Владимир, спасибо огромное! Не совсем так как я хотел и видел, но это в ЛЮБОМ случае намного проще чем забивать каждую формулу в ручную! |
|
Вот чет намутил, единственное условие после всех регионов нужно какое-то слово вставить (я вставил «конец»), а то в последнем регионе конец массива формула не «видит» )). Ну и т.к. все формулы массивные, я думаю с огромной базой, вес файла будет большим. |
|
|
kaiser123 Пользователь Сообщений: 4 |
добрый день. Прикрепленные файлы
|
|
vikttur Пользователь Сообщений: 47199 |
|
|
kaiser123 Пользователь Сообщений: 4 |
#18 07.03.2017 12:57:40 да |
|
Формула берущая значение из объединенной ячейки |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
@sergey_privacy
Админ со стажем, начинающий DevOps
Есть большая таблица. Один столбец состоит из отдельных ячеек и объединенных. Формулу, записанную в верхней ячейке, я не могу растянуть на весь столбец, т.к. разная высота ячеек. Есть объединение и по 2 ячейки и по 10. Как то можно ухитриться и все таки растянуть?
-
Вопрос заданболее трёх лет назад
-
3647 просмотров
Пригласить эксперта
Использовать объединенные ячейки в расчетных таблицах…
А если по существу — если вам нужны красивые таблички с объединенными ячейками на выходе то сделайте отдельно лист с плоской таблицей и записями вида БД (ранее уже писалось как это должно выглядеть) где и производите все расчеты.
А в итоговую красивую табличку с, прости Господи, объединенными ячейками выводите только результат.
Через выбор множества ячеек (с ctrl) и потом специальная вставка -> формулы это можно сделать.
-
Показать ещё
Загружается…
15 апр. 2023, в 07:16
1000 руб./за проект
15 апр. 2023, в 04:50
7000 руб./за проект
15 апр. 2023, в 03:28
5000 руб./за проект
Минуточку внимания
#Руководства
- 29 апр 2022
-
0
Инструкции со скриншотами и нюансами. Учим использовать кнопку «Объединить» и функции СЦЕПИТЬ, СЦЕП, ОБЪЕДИНИТЬ. Рассказываем, какой метод выбрать.
Иллюстрация: Meery Mary для Skillbox Media
Рассказывает просто о сложных вещах из мира бизнеса и управления. До редактуры — пять лет в банке и три — в оценке имущества. Разбирается в Excel, финансах и корпоративной жизни.
Объединение ячеек в Excel позволяет из нескольких ячеек таблицы сделать одну. Такая опция обычно требуется в двух случаях:
- если нужно отформатировать таблицу — например, расположить название таблицы по центру, убрать лишние пустые ячейки или оформить шапку;
- если нужно объединить информацию — из нескольких строк или столбцов сделать одну ячейку, при этом сохранив все данные.
Рассмотрим четыре способа объединения ячеек в Excel. Разберёмся, для каких случаев они подойдут и как их применять. В конце расскажем, какие из этих способов работают в «Google Таблицах».
- Кнопка «Объединить» — когда нужно сделать шапку в таблице.
- Функция СЦЕПИТЬ — когда нужно собрать данные из нескольких ячеек в одну.
- Функция СЦЕП — когда нужно собрать данные из большого диапазона.
- Функция ОБЪЕДИНИТЬ — когда нужно собрать данные из большого диапазона и автоматически разделить их пробелами.
Для чего подойдёт. Для форматирования таблицы, когда нужно улучшить её внешний вид. Например, сделать общую шапку для нескольких столбцов. Лучше, чтобы объединяемые ячейки были пустыми или информация была только в одной из них.
Особенности метода. После объединения сохраняется только значение первой ячейки, информация из других удаляется.
Как сделать. Допустим, нужно отформатировать таблицу с каталогом авто: оформить шапку для колонок с характеристиками и убрать лишнюю пустую ячейку.
Скриншот: Skillbox
Для начала сделаем шапку. Выделяем ячейки над колонками с характеристиками авто: год выпуска, объём двигателя, коробка передач, привод, руль.
Скриншот: Skillbox
На вкладке «Главная» нажимаем на кнопку «Объединить ячейки» или «Объединить и поместить в центре» — в зависимости от того, какой визуальный результат хотим получить.
Скриншот: Skillbox
В итоге вместо пяти ячеек получаем одну. Вводим её название и меняем оформление, если нужно.
В нашем случае получилась шапка части таблицы — «Характеристики автомобилей».
Скриншот: Skillbox
По аналогии с предыдущими шагами уберём лишнюю пустую ячейку над ячейкой «Марка, модель». Для этого нужно выделить их одновременно и также нажать на кнопку «Объединить и поместить в центре».
Скриншот: Skillbox
Получаем таблицу в таком виде:
Скриншот: Skillbox
Чтобы убрать объединение ячеек, выделим их и нажмём на кнопку «Отмена объединения ячеек». Можно выбирать всю таблицу целиком — тогда Excel сам найдёт объединённые ячейки и разъединит их. Можно выделить отдельный диапазон — в этом случае разъединится только он. Мы выделим и разъединим всю шапку таблицы.
Скриншот: Skillbox
Получим таблицу в таком виде. Можно внести необходимые изменения, если нужно, и объединить ячейки снова.
Скриншот: Skillbox
Дополнительно в этом методе есть кнопка «Объединить по строкам». С помощью неё можно объединить ячейки выбранного диапазона построчно. Например, есть диапазон из трёх столбцов и семи строк — нужно из всех этих столбцов сделать один, но при этом оставить количество строк неизменным. Выделим всю таблицу целиком и нажмём эту кнопку.
Скриншот: Skillbox
Получим таблицу в таком виде — три столбца объединились в один, при этом количество строк осталось прежним.
Скриншот: Skillbox
Следующие три способа используются для объединения ячеек с сохранением всех данных в них. Они работают по такому принципу: функции собирают значения из выбранных ячеек в отдельную пустую ячейку.
Например, нам нужно собрать все характеристики автомобилей в одну строку, чтобы в дальнейшем использовать их для квитанции. Разберёмся, как сделать это с помощью трёх функций.
Для чего подойдёт. Для объединения небольшого количества ячеек с сохранением всех данных.
Особенности метода. Каждую ячейку нужно указывать в виде отдельного аргумента функции; большой диапазон сразу выделить нельзя.
Функция склеивает все данные из исходных ячеек в итоговую ячейку. Часто эти данные нужно разделить: вставить пробелы, знаки препинания, символы или слова. Это придётся прописывать вручную в строке ссылок.
Как сделать. Для начала выделим ячейку, в которую функция соберёт значения из объединяемых ячеек. В нашем случае создадим дополнительную колонку «Данные для квитанции» и выделим первую ячейку.
Скриншот: Skillbox
Дальше открываем окно для построения функции. Есть два способа сделать это. Первый — перейти во вкладку «Формулы» и нажать на «Вставить функцию».
Скриншот: Skillbox
Второй способ — нажать на «fx» в строке ссылок на любой вкладке таблицы.
Скриншот: Skillbox
Справа появляется окно «Построитель формул». В нём через поисковик находим функцию СЦЕПИТЬ и нажимаем «Вставить функцию».
Скриншот: Skillbox
Появляется окно для ввода аргументов функции. «Текст 1», «Текст 2» — ячейки, значения которых мы объединяем. В нашем случае таких ячеек пять, поэтому с помощью кнопки + добавляем ещё три таких аргумента.
Скриншот: Skillbox
Заполняем аргументы функции. Поочерёдно нажимаем на окно каждого аргумента и из таблицы выбираем значение для него.
Порядок действий, чтобы указать значение, выглядит так:
- Ставим курсор в окно «Текст1» в построителе формул.
- Выбираем первое значение столбца «Год выпуска» в таблице. Это ячейка B4.
Выбранное значение переносится в построитель формул и одновременно появляется в формуле строки ссылок: fx=СЦЕПИТЬ(B4).
То же самое делаем для остальных аргументов: «Текст2» → значение ячейки «Объем», «Текст3» → значение ячейки «Коробка передач», «Текст4» → значение ячейки «Привод», «Текст5» → значение ячейки “Руль”.
В итоговом виде функция получается такой: fx=СЦЕПИТЬ(B4; C4; D4; E4; F4). Нажимаем кнопку «Готово».
Скриншот: Skillbox
Скриншот: Skillbox
Функция объединила данные всех ячеек, но не добавила пробелы и знаки препинания между ними. В этом методе их можно добавить только вручную, с помощью изменений в строке ссылок.
Добавляем в получившуюся функцию после значения каждого аргумента запятую и пробел, в таком виде, вместе с кавычками: «, «;
Скриншот: Skillbox
Получаем функцию в таком виде: fx=СЦЕПИТЬ(«год выпуска «;B4;», объем «;C4;», коробка передач «;D4;», привод «;E4;», руль «;F4). Нажимаем Enter.
Скриншот: Skillbox
Таким же образом можно добавить не только пробелы и знаки препинания, но и целые слова и фразы.
Для нашего примера можно преобразовать функцию к такому виду: fx=СЦЕПИТЬ(«год выпуска «;B4;», объем «;C4;», коробка передач «;D4;», привод «;E4;», руль «;F4). Главное — не забывать указывать все необходимые пробелы, которые должны быть между объединёнными данными.
Скриншот: Skillbox
Дальше нужно протянуть это значение вниз до конца таблицы, чтобы функция объединила характеристики всех остальных автомобилей.
Скриншот: Skillbox
Для чего подойдёт. Для объединения больших диапазонов ячеек с сохранением всех данных.
Особенности метода. Можно указать сразу весь диапазон ячеек. Но функция, как и СЦЕПЛЕНИЕ, склеит их: значения не будут ничем разделены.
Есть два способа разделить значения в итоговой ячейке. Первый — указывать разделители (слова, символы. пробелы, запятые и так далее) в окне построения формул после каждой ячейки. Второй — прописывать их вручную в строке ссылок.
Как сделать. По аналогии с функцией СЦЕПЛЕНИЕ выделим ячейку, в которую функция будет собирать значения. Откроем окно для построения функций и найдём функцию СЦЕП.
Скриншот: Skillbox
Появляется окно построителя формул. В нём аргумент «Текст 1» — диапазон ячеек, который нужно объединить. В нашем случае выделяем все ячейки с характеристиками автомобилей и жмём «Готово».
Выбранное значение диапазона переносится в построитель формул и одновременно появляется в формуле строки ссылок: fx=СЦЕП(B4:F4).
Скриншот: Skillbox
Скриншот: Skillbox
Как и в предыдущем случае, функция объединила данные всех ячеек, но снова слепила их между собой. Добавить пробелы и знаки препинания в этом методе можно через построитель формул. К сожалению, тогда придётся отказаться от выделения всего диапазона и вводить значения каждого аргумента отдельно, разбавляя их пробелами, запятыми или дополнительными словами.
Вернёмся в окно построения функции и поменяем аргументы на такой вид: «Текст1» → значение ячейки «Год выпуска», «Текст2» → «, «, «Текст3» → значение ячейки «Объём», «Текст4» → «, «. И так далее до последней ячейки, которую нужно объединить: чередуем значения ячеек и аргумент-разделитель.
Затем нажимаем «Готово». Итоговое значение функции принимает вид: fx=СЦЕП(B4;», «;C4;», «;D4;», «;E4;», «;F4), и данные ячейки разделяются запятыми и пробелами.
Скриншот: Skillbox
Скриншот: Skillbox
Чтобы добавить не только запятые с пробелами, но и слова, нужно дописать их в промежуточных аргументах функции. Сделаем это на нашем примере. Вернёмся в построитель формул и заменим данные:
«Текст2» → «, объём «, «Текст4» → «, коробка передач «, «Текст6» → «, привод «, «Текст8» → «, руль «.
Скриншот: Skillbox
В итоге функция выдаёт значение, где все данные разделены между собой дополнительными словами. Формула при этом принимает вид: fx=СЦЕП (B4;”, объём “; C4;”, коробка передач “; D4;”, привод “; E4;”, руль “; F4).
Скриншот: Skillbox
Как и в предыдущем методе, можно было вносить изменения в формулу сразу в строке ссылок. Но через окно построения функций это делать удобнее — меньше вероятность ошибиться.
Протягиваем полученное значение вниз до конца таблицы — функция объединяет характеристики всех остальных автомобилей по такому же принципу.
Скриншот: Skillbox
Для чего подойдёт. Для объединения больших диапазонов ячеек с сохранением данных.
Особенности метода. Можно указать сразу весь диапазон ячеек и разделитель для них. При этом значение самого разделителя будет одним для всех объединённых ячеек. Если нужно изменить разделитель для части ячеек — делать это придётся вручную в строке ссылок.
Как сделать. Выделим ячейку, в которую функция будет собирать значения. Откроем окно для построения функций и найдём функцию ОБЪЕДИНИТЬ.
Скриншот: Skillbox
Появляется окно построителя формул. Здесь аргументы не такие очевидные, как в предыдущих двух методах, поэтому разберём каждый подробнее.
«Разделитель» — значение, которое появится между ячейками после объединения. Разделитель будет одинаковым для всех ячеек.
В нашем случае в качестве разделителя добавим запятую и пробел: «, «.
Скриншот: Skillbox
«Пропускать_пустые» — условное значение, которое определит, что функция будет делать с пустыми ячейками в диапазоне:
- Если нужно, чтобы пустые ячейки игнорировались и разделители не дублировались в них, вводим 1 (ИСТИНА).
- Если нужно, чтобы пустые ячейки обязательно учитывались, вводим 0 (ЛОЖЬ).
В нашем примере в таблице нет пустых ячеек, поэтому не принципиально, какое значение устанавливать в этом аргументе. Введём 1.
Скриншот: Skillbox
«Текст1» — значения ячеек, которые нужно объединить. Можно выбирать одним диапазоном или вводить каждое значение по отдельности.
В нашем примере выберем все ячейки одним диапазоном.
Скриншот: Skillbox
Итоговая функция в строке ссылок принимает вид: fx=ОБЪЕДИНИТЬ(«, «;1;B4:F4).
Нажимаем кнопку «Готово» и растягиваем полученную ячейку на все остальные строки.
Скриншот: Skillbox
В итоге функция объединила данные всех ячеек и сразу разделила их запятыми и пробелами. С одной стороны, это удобно: не пришлось вводить разделители несколько раз. С другой стороны, функция позволила ввести только одно значение разделителя. Если нужно дополнить значения дополнительным текстом, разным для всех ячеек, — придётся делать это вручную через построитель формул. Как это сделать, можно посмотреть в предыдущей инструкции для функции СЦЕП.
Какие методы объединения ячеек есть в «Google Таблицах»? В них есть кнопка «Объединить», которая работает по аналогии с Excel. Также есть функция СЦЕПИТЬ, но нет окна построителя формул — прописывать значения придётся вручную. Если вам нужен разделитель в виде запятой и пробела, то функция будет выглядеть так: fx=СЦЕПИТЬ(C4;», «;D4).

Научитесь: Excel + Google Таблицы с нуля до PRO
Узнать больше
Функция СЦЕПИТЬ в Эксель позволяет объединить содержимое двух и более ячеек в одну общую, что делает ее одним из самых полезных и необходимых инструментов программы, которым непременно нужно овладеть для эффективной работы. Давайте посмотрим, как работать с данной функцией.
Описание и синтаксис функции СЦЕПИТЬ
Данная функция начиная с Excel 2016 сменила название на “СЦЕП”, однако, для тех, кто привык к старому наименованию (“СЦЕПИТЬ”), оператор под этим названием также доступен в программе. СЦЕП и СЦЕПИТЬ абсолютно взаимозаменяемы и выполняют одну и ту же операцию по объединению содержимого выбранных ячеек в одну общую.
Формула функций выглядит так:
=СЦЕП(текст1;текст2;...) или =СЦЕПИТЬ(текст1;текст2;...)
Максимальное количество аргументов – 255.
Вставка и настройка функции
Как мы знаем, при объединении нескольких ячеек в одну, содержимое всех элементов за исключением самой верхней левой стирается. Чтобы этого не происходило, нужно использовать функцию СЦЕПИТЬ (СЦЕП).
- Для начала определяемся с ячейкой, в которой планируем объединить данные из других. Переходим в нее (выделяем) и щелкаем по значку “Вставить функцию” (fx).
- В открывшемся окне вставки функции выбираем категорию “Текстовые” (или “Полный алфавитный перечень”), отмечаем строку “СЦЕП” (или “СЦЕПИТЬ”) и кликаем OK.
- На экране появится окно, в котором нужно заполнить аргументы функции, в качестве которых могут быть указаны как конкретные значения, так и ссылки на ячейки. Причем последние можно указать как вручную, так и просто кликнув по нужным ячейкам в самой таблице (при это курсор должен быть установлен в поле для ввода значения напротив соответствующего аргумента). В нашем случае делаем следующее:
- находясь в поле “Текст1” щелкаем по ячейке (A2), значение которой будет стоять на первом месте в объединенной ячейке;
- кликаем по полю “Текст2”, где ставим запятую и пробел (“, “), которые будут служит разделителем между содержимыми ячеек, указанных в аргументах “Текст1” и “Текст3” (появится сразу же после того, как мы приступим к заполнению аргумента “Текст2”). Можно на свое усмотрение указывать любые символы: пробел, знаки препинания, текстовые или числовые значения и т.д.
- переходим в поле “Текст3” и кликаем по следующей ячейке, содержимое которой нужно добавить в общую ячейку (в нашем случае – это B2).
- аналогичным образом заполняем все оставшиеся аргументы, после чего жмем кнопку OK. При этом увидеть предварительный результат можно в нижней левой части окна аргументов.
- находясь в поле “Текст1” щелкаем по ячейке (A2), значение которой будет стоять на первом месте в объединенной ячейке;
- Все готово, нам удалось объединить содержимое всех выбранных ячеек в одну общую.
- Выполнять действия выше для остальных ячеек столбца не нужно. Просто наводим указатель мыши на правый нижний угол ячейки с результатом, и, после того как он сменит вид на небольшой черный плюсик, зажав левую кнопку мыши тянем его вниз до нижней строки столбца (или до строки, для которой требуется выполнить аналогичные действия).
- Таким образом, получаем заполненный столбец с новыми наименованиями, включающими данные по размеру и полу.
Аргументы функции без разделителей
Если разделители между содержимыми ячеек не нужны, в этом случае в значении каждого аргумента сразу указываем адреса требуемых элементов.
Правда, таким способом пользуются редко, так как сцепленные значения сразу будут идти друг за другом, что усложнит дальнейшую работу с ними.
Указание разделителя в отдельной ячейке
Вместо того, чтобы вручную указывать разделитель (пробел, запятая, любой другой символ, текст, число) в аргументах функции, его можно добавить в отдельную ячейку, и затем в аргументах просто ссылаться на нее.
Например, мы добавляем запятую и пробел (“, “) в ячейку B16.
В этом случае, аргументы функции нужно заполнить следующим образом.
Но здесь есть один нюанс. Чтобы при копировании формулы функции на другие ячейки не произошло нежелательного сдвига адреса ячейки с разделителем, ссылку на нее нужно сделать абсолютной. Для этого выделив адрес в поле соответствующего аргумента нажимаем кнопку F4. Напротив обозначений столбца и строки появятся символы “$”. После этого можно нажимать кнопку OK.
Визуально в ячейке результат никак не будет отличаться от полученного ранее.
Однако формула будет выглядет иначе. И если мы решим изменить разделитель (например, на точку), нам не нужно будет корректировать аргументы функции, достаточно будет просто изменить содержимое ячейки с разделителем.
Как ранее было отмечено, добавить в качестве разделителя можно любую текстовую, числовую и иную информацию, которой изначально не было в таблице.
Таким образом, функция СЦЕП (СЦЕПИТЬ) предлагает большую вариативность действий, что позволяет наилучшим образом представить объединенные данные.
Редактирование функции
Если функция уже добавлена в ячейку, но в ее аргументы требуется внести определенные правки, сделать это можно двумя способами.
Способ 1: изменения в окне аргументов
Перейти к редактированию функции можно, просто нажав на кнопку “Вставить функцию” (fx), которая находится слева от строки формул. При этом предварительно нужно выбрать ячейку, содержащую функцию.
Таким образом мы попадем в окно с аргументами функции, где можем внести требуемые изменения, после чего нажать кнопку OK.
Мы получим результат с учетом скорректированных данных.
Способ 2: ручная корректировка формулы
Альтернативный метод изменения аргументов функции – ручная корректировка формулы. Перейти в режим редактирования можно двумя по-разному:
- Выделяем ячейку с функцией, затем щелкаем по строке формул и вносим в ней изменения.
- Двойным щелчком мыши по ячейке с формулой активируем режим редактирования и корректируем формулу, непосредственно, в самой ячейке.
Независимо от выбранного метода, при ручной корректировке формул нужно быть предельно внимательным, соблюдая следующие правила:
- адреса ячеек пишутся без кавычек;
- перечисление аргументов – через знак “;”
- если в качестве аргумента используется символ или текст, наличие кавычек с двух сторон указанного значения обязательно.
Заключение
Благодаря умению пользоваться функцией СЦЕП (СЦЕПИТЬ) можно автоматизировать процесс объединения содержимого разных ячеек в одну общую, что в некоторых случаях, является единственным условием успешного выполнения поставленной задачи. Поэтому очень важно научиться правильно работать с данной функцией в программе Эксель.
Значение из объединённой ячейки при ссылке на не верхнюю-левую ячейку.
Модератор:Naeel Maqsudov
-
tolikt
- Сообщения:93
- Зарегистрирован:29 окт 2005, 12:33
- Откуда:NewVasюbirsk
Ячейки A1:B3 объединены. В этой объединённой ячейке находится значение 1.
Если в C4 ввести формулу «=A1» то получим результат 1. Если формулу в C4 скопировать на область [noparse]C4 6[/noparse], то во всех ячейках, кроме самой C4, результат будет 0. Это понятно, т.к. формулы скопировались со смещением по ссылке. А хотелось бы получать значение из верхней-левой, т.е. 1.
Как обычными формулами без VBA получить значение объединённой ячейки, если ссылка не на левую-верхнюю ячейку из этой объединённой?
Абсолютная ссылка ($A$1) тут не подойдёт, ибо формулу надо скопировать на несколько объединённых областей, где значения верхней-левой ячеек разные.
Через VBA это решается просто.
Код: Выделить всё
Function V(R As Range)
V=R.MergeArea
End Function
И в область [noparse]C4 6[/noparse] ввести формулу «=V(A1)»
Но надо без макросов.
В функции ПОЛУЧИТЬ.ЯЧЕЙКУ типа информации о вхождении или нет ячейки в объединённую область тоже не нашёл.
-
VictorM
- Сообщения:787
- Зарегистрирован:23 окт 2006, 01:44
- Откуда:Lugansk, Ukraine
- Контактная информация:
19 май 2008, 15:15
tolikt,
Абсолютная ссылка ($A$1) тут не подойдёт
не совсем понятно, а почему не подойдет
если следовать Вашим условиям, то формула =$A$1 прекрасно «размножается» на диапазон C4 : D6 «растягиванием» и во всех ячейках этого диапазона имеем значение 1. (специально проверил, а вдруг ).
и что такое
несколько объединённых областей, где значения верхней-левой ячеек разные
мож я где чё не понял?
«Дайте людям рыбы, и вы накормите их на весь день;
научите их ловить рыбу — и вы накормите их на всю жизнь».
-
tolikt
- Сообщения:93
- Зарегистрирован:29 окт 2005, 12:33
- Откуда:NewVasюbirsk
19 май 2008, 22:15
Нет, никакая абсолютная ссылка не пойдёт. Ибо нужно одинаковую формулу скопировать на большой диапазон, в каждой ячейке диапазона ссылки на РАЗНЫЕ объединёные ячейки в которых, соответственно, РАЗНЫЕ данные. И размер (количество входящих одинарных ячеек) каждой объединённой ячейки заранее неизвестно.
Для пояснения см. файл.
В столбце A — ряд объединённых ячеек с данными
В столбце B — вид формулы
В столбце C — результат формулы
В столбце D — результат функции VBA — который и есть правильный.
Т.е. надо получить результат, как в D, но без VBA.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
-
VictorM
- Сообщения:787
- Зарегистрирован:23 окт 2006, 01:44
- Откуда:Lugansk, Ukraine
- Контактная информация:
19 май 2008, 22:31
tolikt, ну что же. С примером оно конечно понятнее будет.
Тогда действительно вопрос, как получить значение ячейки которой нет?
Я, конечно, не знаю полностью условий Вашей задачи, но может присвоить объединенным ячейкам имена?
«Дайте людям рыбы, и вы накормите их на весь день;
научите их ловить рыбу — и вы накормите их на всю жизнь».
-
tolikt
- Сообщения:93
- Зарегистрирован:29 окт 2005, 12:33
- Откуда:NewVasюbirsk
19 май 2008, 23:48
Ну, ячейка-то как бы есть… Значение в ней — пусто.
Идея получения нужного значения лежит на поверхности:
Если значение в ячейке пусто, то брать значение из ячейки над пустой. Если и она пустая, то выше и так далее вверх. В VBA данный цикл можно организовать легко. Впрочем, там есть ещё более простая функция MergeArea. А как всё это организовать без VBA, а только с помощью своих формул.
Пробовал поиграться с ПОИСКПОЗ, ЧСТРОК и другими, но не получается.
В функции ПОЛУЧИТЬ.ЯЧЕЙКУ нет такого типа информации о ячейке, как объединена она или нет. Хотя она тоже не совсем функция листа.
Составная функция (для ячейки C5) типа =ЕСЛИ(A5<>»»;A5;C4) тоже не прокатит, т. к. на самом деле формула сложная и в ячейке C4 уже будет какое-то вычисленное значение, а не нужное исходное, находящееся в объединённой ячейке, в которую входит ячейка A5.
-
VictorM
- Сообщения:787
- Зарегистрирован:23 окт 2006, 01:44
- Откуда:Lugansk, Ukraine
- Контактная информация:
19 май 2008, 23:54
Да, с VBA там конечно проще получается. Я это тоже попробовал. А вот без оного…
Надо чёт искать…
А с именоваными ячейками тоже не катит?
«Дайте людям рыбы, и вы накормите их на весь день;
научите их ловить рыбу — и вы накормите их на всю жизнь».
-
ZORRO2005
- Сообщения:25
- Зарегистрирован:11 июн 2006, 21:48
20 май 2008, 16:38
Попробуйте так:
У вас нет необходимых прав для просмотра вложений в этом сообщении.
-
VictorM
- Сообщения:787
- Зарегистрирован:23 окт 2006, 01:44
- Откуда:Lugansk, Ukraine
- Контактная информация:
20 май 2008, 16:50
ZORRO2005, класс!
Действительно, не именованные ячейки , а массивы!
Посмотрим, что скажет автор темы.
«Дайте людям рыбы, и вы накормите их на весь день;
научите их ловить рыбу — и вы накормите их на всю жизнь».
-
tolikt
- Сообщения:93
- Зарегистрирован:29 окт 2005, 12:33
- Откуда:NewVasюbirsk
21 май 2008, 07:09
Да, ZORRO2005 молодец!
Мелкие нюансы, конечно, есть: надо не забыть ввести формулу массива и вообще итоговая формула получается довольно громоздкой. Но это мелочи.
Главное, почему именно надо было данные из объединённой ячейки. В некоторых ячейках данных нет (т.е. даже не 0, а пусто), но они не входят в область объединения с верхней объединённой ячейкой. И данная формула пропускает пустые необъединённые ячейки. Т.е. полного аналога MergeArea не получается и, похоже, без VBA не получится.
Но всё равно спасибо. Данное решение, скорее всего, придётся использовать, немного подкорректировав постановку задачи.
































































