Функция АДРЕС возвращает адрес определенной ячейки (текстовое значение), на которую указывают номера столбца и строки. К примеру, в результате выполнения функции =АДРЕС(5;7) будет выведено значение $G$5.
Примечание: наличие символов «$» в адресе ячейки $G$5 свидетельствует о том, что ссылка на данную ячейку является абсолютной, то есть не меняется при копировании данных.
Функция АДРЕС в Excel: описание особенностей синтаксиса
Функция АДРЕС имеет следующую синтаксическую запись:
=АДРЕС(номер_строки;номер_столбца;[тип_ссылки];[a1];[имя_листа])
Первые два аргумента данной функции являются обязательными для заполнения.
Описание аргументов:
- Номер_строки – числовое значение, соответствующее номеру строки, в которой находится требуемая ячейка;
- Номер_столбца – числовое значение, которое соответствует номеру столбца, в котором расположена искомая ячейка;
- [тип_ссылки] – число из диапазона от 1 до 4, соответствующее одному из типов возвращаемой ссылки на ячейку:
- абсолютная на всю ячейку, например — $A$4
- абсолютная только на строку, например — A$4;
- абсолютная только на столбец, например — $A4;
- относительная на всю ячейку, например A4.
- [a1] – логическое значение, определяющее один из двух типов ссылок: A1 либо R1C1;
- [имя_листа] – текстовое значение, которое определяет имя листа в документе Excel. Используется для создания внешних ссылок.
Примечания:
- Ссылки типа R1C1 используются для цифрового обозначения столбцов и строк. Для возвращения ссылок такого типа в качестве параметра a1 должно быть явно указано логическое значение ЛОЖЬ или соответствующее числовое значение 0.
- Стиль ссылок в Excel может быть изменен путем установки/снятия флажка пункта меню «Стиль ссылок R1C1», который находится в «Файл – Параметры – Формулы – Работа с Формулами».
- Если требуется ссылка на ячейку, которая находится в другом листе данного документа Excel, полезно использовать параметр [имя_листа], который принимает текстовое значение, соответствующее названию требуемого листа, например «Лист7».
Примеры использования функции АДРЕС в Excel
Пример 1. В таблице Excel содержится ячейка, отображающая динамически изменяемые данные в зависимости от определенных условий. Для работы с актуальными данными в таблице, которая находится на другом листе документа требуется получить ссылку на данную ячейку.
На листе «Курсы» создана таблица с актуальными курсами валют:
На отдельном листе «Цены» создана таблица с товарами, отображающая стоимость в долларах США (USD):
В ячейку D3 поместим ссылку на ячейку таблицы, находящейся на листе «Курсы», в которой содержится информация о курсе валюты USD. Для этого введем следующую формулу: =АДРЕС(3;2;1;1;»Курсы»).
Значение параметров:
- 3 – номер строки, в которой содержится искомая ячейка;
- 2 – номер столбца с искомой ячейкой;
- 1 – тип ссылки – абсолютная;
- 1 – выбор стиля ссылок с буквенно-цифровой записью;
- «Курсы» — название листа, на котором находится таблица с искомой ячейкой.
Для расчета стоимости в рублях используем формулу: =B3*ДВССЫЛ(D3).
Функция ДВССЫЛ необходима для получения числового значения, хранимого в ячейке, на которую указывает ссылка. В результате вычислений для остальных товаров получим следующую таблицу:
Как получить адрес ссылки на ячейку Excel?
Пример 2. В таблице содержатся данные о цене товаров, отсортированные в порядке возрастания стоимости. Необходимо получить ссылки на ячейки с минимальной и максимальной стоимостью товаров соответственно.
Исходная таблица имеет следующий вид:
Для получения ссылки на ячейку с минимальной стоимостью товара используем формулу:
Функция АДРЕС принимает следующие параметры:
- число, соответствующее номеру строки с минимальным значением цены (функция МИН выполняет поиск минимального значения и возвращает его, функция ПОИСКПОЗ находит позицию ячейки, содержащей минимальное значение цены. К полученному значению добавлено 2, поскольку ПОИСКПОЗ осуществляет поиск относительно диапазона выбранных ячеек.
- 2 – номер столбца, в котором находится искомая ячейка.
Аналогичным способом получаем ссылку на ячейку с максимальной ценой товара. В результате получим:
Адрес по номерам строк и столбцов листа Excel в стиле R1C1
Пример 3. В таблице содержится ячейка, данные из которой используются в другом программном продукте. Для обеспечения совместимости необходимо предоставить ссылку на нее в виде R1C1.
Исходная таблица имеет следующий вид:
Для получения ссылки на ячейку B6 используем следующую формулу: =АДРЕС(6;2;1;0).
Аргументы функции:
- 6 – номер строки искомой ячейки;
- 2 – номер столбца, в котором содержится ячейка;
- 1 – тип ссылки (абсолютная);
- 0 – указание на стиль R1C1.
В результате получим ссылку:
Практическое применение функции АДРЕС: Поиск значения в диапазоне таблицы Excel по столбцам и строкам.
Примечание: при использовании стиля R1C1 запись абсолютной ссылки не содержит знака «$». Чтобы отличать абсолютные и относительные ссылки используются квадратные скобки «[]». Например, если в данном примере в качестве параметра тип_ссылки указать число 4, ссылка на ячейку примет следующий вид:
Скачать примеры функции АДРЕС для получения ссылки на ячейку в Excel
Так выглядит абсолютный тип ссылок по строкам и столбцам при использовании стиля R1C1.
Содержание
- АДРЕС (функция АДРЕС)
- Описание
- Синтаксис
- Пример
- Excel адрес ячейки формулой
- Функция АДРЕС() в MS EXCEL
- Синтаксис функции
- Примеры
- Типы ссылок MS EXCEL на ячейку: относительная (A1), абсолютная ($A$1) и смешанная (A$1) адресация
- Абсолютная адресация (абсолютные ссылки)
- Относительная адресация (относительные ссылки)
- Смешанные ссылки
- Вводим знак $ в адрес ячейки
- «СуперАбсолютная» адресация
- Примеры функции АДРЕС для получения адреса ячейки листа Excel
- Функция АДРЕС в Excel: описание особенностей синтаксиса
- Примеры использования функции АДРЕС в Excel
- Как получить адрес ссылки на ячейку Excel?
- Адрес по номерам строк и столбцов листа Excel в стиле R1C1
- Получить адрес ячейки формулой
- Как вставить адрес ячейки в формулу массива?
- определить адрес ячейки
- Абсолютная ссылка в Excel фиксирует ячейку в формуле
- Абсолютные и относительные ссылки в Excel
- Использование абсолютных и относительных ссылок в Excel
АДРЕС (функция АДРЕС)
В этой статье описаны синтаксис формулы и использование функции АДРЕС в Microsoft Excel. Чтобы узнать больше о работе с почтовыми адресами и создании почтовых наклеек, см. по ссылкам в разделе См. также.
Описание
Функцию АДРЕС можно использовать для получения адреса ячейки на листе по номерам строки и столбца. Например, функция АДРЕС( 2;3) возвращает значение $C$2. Еще один пример: функция АДРЕС( 77;300) возвращает значение $KN$77. Чтобы передать функции АДРЕС номера строки и столбца в качестве ее аргументов, можно использовать другие функции (например, функции СТРОКА и СТОЛБЕЦ).
Синтаксис
Аргументы функции АДРЕС указаны ниже.
Номер_строки Обязательный аргумент. Номер строки, используемый в ссылке на ячейку.
Номер_столбца Обязательный аргумент. Номер столбца, используемый в ссылке на ячейку.
Тип_ссылки Необязательный аргумент. Задает тип возвращаемой ссылки.
Возвращаемый тип ссылки
Абсолютная строка; относительный столбец
Относительная строка; абсолютный столбец
A1 Необязательный аргумент. Логическое значение, которое определяет тип ссылок: А1 или R1C1. При использовании ссылок типа А1 столбцы обозначаются буквами, а строки — цифрами. При использовании ссылок типа R1C1 и столбцы, и строки обозначаются цифрами. Если аргумент А1 имеет значение ИСТИНА или опущен, то функция АДРЕС возвращает ссылку типа А1; если этот аргумент имеет значение ЛОЖЬ, функция АДРЕС возвращает ссылку типа R1C1.
Примечание: Чтобы изменить тип ссылок, используемый Microsoft Excel, откройте вкладку Файл, а затем нажмите кнопку Параметры и выберите пункт Формулы. В группе Работа с формулами установите или снимите флажок Стиль ссылок R1C1.
Имя_листа Необязательный аргумент. Текстовое значение, определяющее имя листа, которое используется для формирования внешней ссылки. Например, формула = АДРЕС( 1;1;;;»Лист2″) возвращает значение Лист2!$A$1. Если аргумент имя_листа отсутствует, имя листа не используется, и адрес, возвращаемый функцией, ссылается на ячейку текущего листа.
Пример
Скопируйте образец данных из следующей таблицы и вставьте их в ячейку A1 нового листа Excel. Чтобы отобразить результаты формул, выделите их и нажмите клавишу F2, а затем — клавишу ВВОД. При необходимости измените ширину столбцов, чтобы видеть все данные.
Источник
Excel адрес ячейки формулой
Функция АДРЕС() в MS EXCEL
Смотрите также евро после конвертации=СУММЕСЛИМН(F:F;D:D;»<>проезд»;F:F;»12,00″) 1 активна? формулу на Вашу. Во время работы и столбец заданы на выходе формируется использую СЧЁТЗ(), получается
1 – выбор стиля в адресе ячейкиАВF4
Синтаксис функции
B2:F11 адресации в Именованных формулах, Именованных
установленный для всего в которых использованиеФункция АДРЕС(), английский вариант валют. Завтра курс
Я НАШЕЛ, ЧТОИли её надо найти?0mega все мини-таблички скрыты
конкретно, а в ошибка Н/Д. Подскажите,
адрес А+СЧЁТ() ссылок с буквенно-цифровой
- $G$5 свидетельствует о– формула превратится(для ввода абсолютной
- , так, чтобы активной диапазонах, Условном форматировании, Проверке данных (примеры отдела. Для подсчета функции АДРЕС() очень ADDRESS(), возвращает адрес
- измениться и задача ТАКИХ ЯЧЕЕЙК 5,Можно макросом.: Доброе время суток и виден только
- АДРЕСе я привязываюсь в чем можетКак мне это
записью; том, что ссылка в =$C$2^$E3, но ссылки): ячейкой была см. в соответствующих премии каждого сотрудника удобно, например Транспонирование ячейки на листе, таблички автоматически пересчитать ПОТОМУ ЧТО ВОТ200?’200px’:»+(this.scrollHeight+5)+’px’);»>Sub Search_0mega()2003 перечень деталей. Чтобы к строке и быть ошибка. грамотно записать в«Курсы» — название листа, на данную ячейку мы снова получимВведите часть формулы безB2 статьях) необходимо следить, какая необходимо все зарплаты таблиц или Нумерация для которой указаны диапазон C2:C4 в
ЭТА ФУНКЦИЯ ВЫДАЛАDim rgResult AsExcel. Новый чистый автоматически обновлять цену столбцу ячейки, вp.s. кажется, разобрался, формуле? на котором находится является абсолютной, то правильный результат 625. ввода $: =СУММ(А2:А5 (важно выделить диапазон ячейка является активной умножить на % столбцов буквами или
номера строки и зависимости от изменения МНЕ СУММУ 60, Range лист в этом перечне которой находится формула
Примеры
спасибо всемBema таблица с искомой есть не меняетсяВсе правильно, т.к. это
Затем начиная с в момент создания премии. Рассчитанную премию Поиск позиции ТЕКСТа
столбца. Например, формула АДРЕС(2;3) значения в ячейке КОТ Я РАЗДЕЛИЛSet rgResult =В произвольном месте
(верхняя строка каждой и могу копироватьБМВ: Привет. Почитайте тут: ячейкой. при копировании данных. и есть сутьсразуB2 формулы (активной может поместим в диапазоне с выводом значения возвращает значение
Типы ссылок MS EXCEL на ячейку: относительная (A1), абсолютная ($A$1) и смешанная (A$1) адресация
A2 (то есть НА 12 И Range(«A1:IV65536»).Find(1, , xlValues) стоит «1» мини-таблички) я использовал (не растягивать) ее: Это прекрасноили тут:Для расчета стоимости вФункция АДРЕС имеет следующую абсолютной адресации: ссылкинажмите клавишу, а не с быть только однаВ1:В5 из соседнего столбца.$C$2 курса евро). ПОЛУЧИЛ 5. Т.Е.If rgResult IsУзнать адрес ?( такой механизм. Нахожу в другие ячейки.
Цитатаportmone написал: Подскажите,Ігор Гончаренко рублях используем формулу: синтаксическую запись: автоматически модифицируются дляF4F11 ячейка на листе,. Для этого введемВ формулах EXCEL можно.Для решения данной задачи 5 ЯЧЕЕК ИМЕЮТ Nothing Then R1C1 или А1 первую пустую строкуКазанский в чем может: для того чтобы =B3*ДВССЫЛ(D3).=АДРЕС(номер_строки;номер_столбца;[тип_ссылки];[a1];[имя_листа]) сохранения адресации на, знаки $ будут. Во втором случае, не смотря на в ячейку сослаться на другуюФункция АДРЕС() возвращает нам нужно ввести ЗНАЧЕНИЕ 12 ИMsgBox «На листе — не имеет
Абсолютная адресация (абсолютные ссылки)
диапазона (конец мини-таблички),: vadi61, по-моему, Вы быть ошибка.во всем. в формуле сослатьсяФункция ДВССЫЛ необходима дляПервые два аргумента данной нужные ячейки при вставлены автоматически: =СУММ($А$2:$А$5 активной ячейкой будет
то, что выделеноВ1 ячейку используя еетекстовое формулу в C2: НЕ ИМЕЮТ ЗНАЧЕНИЯ нет ячейки со значения. а лучше подымаюсь на строку переусложняете. Относительная ссылка Начинаем от того на ячейку, ядрес получения числового значения, функции являются обязательными любых модификациях строкДля окончания ввода формулы нажмитеF11 может быть несколько). формулу =А1*С1. Если адрес. Адрес ячейкизначение в виде =B2/A2 и скопировать «ПРОЕЗД». НО ВОТ значением 1″ всего просто цифрами: выше и адресA2:A50 что ошибка не которой нужно предварительно хранимого в ячейке, для заполнения. и столбцах листа
ENTER.
);Теперь примеры. мы с помощью Маркера в формуле можно адреса ячейки. ее во все КАК НАЙТИ ИХElse23,12 полученной ячейки сохраняюбудет меняться автоматически прочитать правила форума, вычислить используйте ИНДЕКС на которую указываетОписание аргументов: (ну, кроме удаленияЕсли после ввода =СУММ(А2:А5 в формулевызовите инструмент Условное форматированиеПусть в столбце заполнения протянем формулу записать по-разному, например:АДРЕС(номер_строки, номер_столбца, [тип_ссылки], [a1], ячейки диапазона C2:C4. АДРЕСА ВО ВСЕЙMsgBox rgResult.Address) как промежуточное значение при копировании или до всевозможных проблемлюбая формула, которая ссылка. В результатеНомер_строки – числовое значение, ячейки с формулой, передвинуть курсор с (Главная/ Стили/ УсловноеА вниз, то получим А1 или $A1
[имя_листа]) Но здесь возникает ТАБЛИЦЕ?End IfSerge_007
- (колонки A и «растягивании» ячейки с с работой INDEX
- возращает желаемый результат вычислений для остальных соответствующее номеру строки, конечно). Однако бывают помощью мыши в
- форматирование/ Создать правило/введены числовые значения. в или $A$1. То,Номер_строки проблема. Из предыдущегоБУДУ БЛАГОДАРЕН, ЕСЛИ
- End Sub: Здравствуйте. B во вторых формулой. с массивами . — есть грамотно товаров получим следующую в которой находится ситуации, когда значения позицию левее, использовать формулу для В столбцеВ2:В5 каким образом вы Обязательный аргумент. Номер строки, примера мы знаем, СООБЩИТЕ ОТВЕТ НА0megaНе совсем понятны строках мини-табличек. В
Кстати, можно корочеНе в обиду записанная формула таблицу: требуемая ячейка; на лист попадают
…);Bнули (при условии, введете адрес в используемый в ссылке что при копировании МЫЛО: Макросом меня не
Относительная адресация (относительные ссылки)
условия задачи. реальности этих значений =ПОИСКПОЗ(ИСТИНА;A2:A50=»»;) Dima S, .ДВССЫЛ(«A»&СЧЁТ())portmoneПример 2. В таблицеНомер_столбца – числовое значение, из внешних источников.а затем вернуть его ввведите формулу =И(ОСТАТ($A2;2)=$I$1;B2>50);нужно ввести формулы что в диапазоне формулу, будет зависеть, на ячейку. относительные ссылки автоматическиУдалено. Нарушение Правил форума устраивает.Как Вы хотите не видно, посколькуgling Не лучший вариант: Спасибо за ответы! содержатся данные о которое соответствует номеру
Например, когда созданный
самую правую позициювыберите Формат; для суммирования значенийС2:С5 как он будетНомер_столбца меняют адреса относительноИЛИ ВКОНТАКТЕ ПОНо я согласен узнать адрес? Увидеть шрифт и фон: А мне не и конструкци C2:index(C:C;Count(C:C))
Использую конструкцию с
цене товаров, отсортированные столбца, в котором пользователем макрос вставляет (также мышкой),нажмите ОК из 2-х ячеекнет никаких значений). модифицироваться при ее Обязательный аргумент. Номер столбца, своего положения. Поэтому ССЫЛКЕ на компромисс его? Получить в этих ячеек одного
понятна эта махинация скорее всего даст ИНДЕКС, но в в порядке возрастания расположена искомая ячейка; внешние данные в
Важно отметить, что, если столбца В ячейке копировании в другие используемый в ссылке возникнет ошибка:Удалено. Нарушение Правил форуманужно найти и ячейку? Ячейка с цвета. Здесь я с СТРОКА и
- результат (без примера моём случае она стоимости. Необходимо получить[тип_ссылки] – число из ячейкуто после нажатия клавиши бы, при создании
- АВ5 ячейки листа. Это на ячейку.
- Относительно первого аргумента насP.S. ВЫ МНЕ
- указать адрес ячейки1 специально для наглядности
- СТОЛБЕЦ. Если копировать
не видно) и почему-то не отрабатывает ссылки на ячейки диапазона от 1B2F4 правила, активной ячейкой: значения из тойбудем иметь формулу пригодится при какПоследние 3 аргумента являются это вполне устраивает. ОБЛЕГЧИТЕ ЖИЗНЬ НА со значениемактивна? Или её сделал шрифт черным). формулу не из не будет улетать. так, как нужно. с минимальной и
до 4, соответствующее(т.е. всегда во, знаки $ будут была же строки и =А5*С5 (EXCEL при построении обычных формул необязательными. Ведь формула автоматически ПОРЯДОК, ПОТОМУ КАК1 надо найти? Ну а потом строки формул, аDima S
Поясню — использую максимальной стоимостью товаров одному из типов
второй столбец листа). автоматически вставлены толькоF11 значения из строки копировании формулы модифицировал на листе, так[Тип_ссылки] ссылается на новое Я НЕ ЗНАЮ,
в массиве =Serge_007
- использую эти адреса вместе с ячейкой,: согласен, но это конструкцию соответственно. возвращаемой ссылки на Теперь, при вставке во вторую часть, то формулу необходимо выше. ссылки на ячейки, и при создании Задает тип возвращаемой ссылки: значение в столбце
- СКОЛЬКО НУЖНО ВРЕМЕНИ,B2:D12: Пара вариантов. для отображения нужных то и формула
- первое что пришло
- =СУММПРОИЗВ((B2:B531=L8)*(—(ПОИСКПОЗ(C2:C531;C2:C531;0)=(СТРОКА(C2:C531)-1)))*(A2:A531>=M8)*(A2:A531
- Исходная таблица имеет следующий
ячейку: столбца между столбцами ссылки! =СУММ(А2:$А$5 было переписать: =И(ОСТАТ($A11;2)=$I$1;F11>50).Т.е. в т.к. их адреса Именованных формул, задания1 ячеек таблицы (суммы ЧТО БЫ НАЙТИSerge_007Если ячейку искать
Смешанные ссылки
значений в верхней при вставке будет в голову)для расчёта количества вид:абсолютная на всю ячейку,АВЧтобы вставить знаки $ Поменять необходимо толькоB2
не были записаны правил Условного форматированияили опущен: абсолютная в долларах). А ТАКУЮ МАЛЕНЬКУЮ ОШИБКУ: А Вы попробуйте не надо: строке каждой мини-таблички. ссылаться на сдвинутыйв таких случаях товара в выбранномДля получения ссылки на например — $A$4– формула как во всю ссылку, ссылки незафиксированные знакомдолжна быть формула: в виде абсолютных и при формировании ссылка, например $D$7 вот второй показатель В ТАКОЙ ТАБЛИЦЕ. сначала, прежде чем1. Функция ЯЧЕЙКА()В зависимости от диапазон, ссылки то про ИНДЕКС не магазине за период ячейку с минимальнойабсолютная только на строку, и раньше превратится
выделите всю ссылку $: =СУММ(A1:A2), в ссылок). условий Проверки данных.
2 нам нужно зафиксироватьТема закрыта. Причина: отказываться2. Выделить ячейку типа детали (уплотнительные в формуле относительные. сразу вспоминаешь) времени. C531 - стоимостью товара используем например — A$4; в =$C$2^$E3, но А2:$А$5 или ееB2F11$A2$A11B3Чтобы выйти из ситуацииВ подавляющем большинстве формул: абсолютная ссылка на на адресе A2. нарушение п.п. 3,Знание макросов для и посмотреть в элементы, крепежные элементы
Вводим знак $ в адрес ячейки
Может я чтоvadi61 это конец таблицы, формулу:абсолютная только на столбец,
т.к. исходное число часть по обе.: =СУММ(A2:A3) и т.д.
— откорректируем формулу EXCEL используются ссылки строку; относительная ссылка Соответственно нужно менять
- 4, 5q, 5o этого не требуется.
- окне адреса и пр.) мини-таблички то упустил?: Для поиска номера последнее значение. ЕслиФункция АДРЕС принимает следующие
- например — $A4; (25) будет вставляться
стороны двоеточия, напримерСмешанные ссылки имеют форматРешить задачу просто: записав в ячейке
на ячейки. Например,
на столбец, например в формуле относительную Правил форума
Скачайте файл из
0mega отличаются по цвету.Казанский строки первой пустой я удаляю или параметры:
относительная на всю ячейку, макросом не в 2:$А, и нажмите =$В3 или =B$3. вВ1 если в ячейке D$7 ссылку на абсолютную.Преимущества абсолютных ссылок сложно вложения, сохраните, откройте,: На чистом листе
Детали в список: gling, сегодня мысли ячейки в диапазоне, добавляю значения в
- число, соответствующее номеру строки например A4.
- С2 клавишу В первом случаеB2.В1
- 3Как сделать абсолютную ссылку недооценить. Их часто нажмите кнопку и
- занята ( любым добавляются. приходят одновременно ввожу в ячейку
- таблицу — формула с минимальным значением[a1] – логическое значение,, а по прежнемуF4. при копировании формулыформулу =СУММ(A1:A2), протянем ее
- выделите ячейкусодержится формула =А1+5,
: относительная ссылка на в Excel? Очень приходится использовать в радуйтесь результату:) символом) всего 1В рамках одногоgling
«СуперАбсолютная» адресация
A1 формулу: не работает, Н/Д цены (функция МИН определяющее один из в ячейкуЗнаки $ будут фиксируется ссылка на с помощью Маркера заполненияВ1 то означает, что строку; абсолютная ссылка просто нужно поставить процессе работы сDV ячейка ( файла я эту: Почти, писАл долго,=ПОИСКПОЗ(ИСТИНА();(A2:A50=»»);ЛОЖЬ()) (что и правильно).
выполняет поиск минимального двух типов ссылок:B2 автоматически вставлены во столбец в ячейку; в ячейку на столбец, например
- символ $ (доллар) программой. Относительные ссылки: можно так:В4 задачу решил формулой а еще дольше
- жму Если я подставляю значения и возвращает A1 либо R1C1;, и мы получим всю ссылку $А$2:$А$5B
B3войдите в режим правкиВ1 $D7 перед номером строки на ячейки в200?’200px’:»+(this.scrollHeight+5)+’px’);»>=СУММПРОИЗВ((B2:D12=1)*СТОЛБЕЦ(B2:D12))&» «&СУММПРОИЗВ((B2:D12=1)*СТРОКА(B2:D12))) (см. выше), которую искал разницу.Ctrl+Shift+Enter формулу с ИНДЕКСОМ его, функция ПОИСКПОЗ[имя_листа] – текстовое значение, неправильный результат.3. С помощью клавиши, а строка можети ниже. Другим ячейки (нажмите клавишубудет помещено значение4 или колонки. Или Excel более популярныеили так:Визуально и ячейку указал в своемvadi61и вместо C531 - находит позицию ячейки, которое определяет имяВопрос: можно ли модифицироватьF4 изменяться в зависимости вариантом решения этойF2
ячейки: относительная ссылка, например перед тем и чем, абсолютные, ноCode200?’200px’:»+(this.scrollHeight+5)+’px’);»>=АДРЕС(СУММПРОИЗВ((B2:D12=1)*СТРОКА(B2:D12));СУММПРОИЗВ((B2:D12=1)*СТОЛБЕЦ(B2:D12))) и адрес видно вопросе. Но теперь: ув. Казанский, ув.все работает
ситуация такая же, содержащей минимальное значение листа в документе исходную формулу из(для ввода относительной при копировании формулы. задачи является использование) или поставьте курсорА1 D7 тем. Ниже рассмотрим так же имеют0megaнадо чтобы стала задача распространить gling,
. пока 531 элементов цены. К полученному Excel. Используется дляС2 ссылки).Предположим, у нас есть Именованной формулы. Для в Строку формул;находящейся на пересечении[а1]
свои плюсы и:машина этот механизм наЦитатаgling написал: ЕслиТеперь хочу адреса в таблице, всё значению добавлено 2, создания внешних ссылок.(=$B$2^$D2), так чтобыВведите часть формулы без столбец с ценами этого:
поставьте курсор на ссылку столбца Логическое значение, которое определяет и определим их минусы.DVпоказала адрес другие файлы (металлические копировать формулу неA2:A50 работает. С А531,
Примеры функции АДРЕС для получения адреса ячейки листа Excel
поскольку ПОИСКПОЗ осуществляетПримечания: данные все время ввода $: =СУММ(А2:А5 в диапазоневыделите ячейкуС1А тип ссылок: А1
отличия.В Excel существует несколько,В результате какой детали, детали из из строки формул,записать в общем В531 такая же
Функция АДРЕС в Excel: описание особенностей синтаксиса
поиск относительно диапазонаСсылки типа R1C1 используются
брались из второго
- и строки или R1C1. ПриНаша новая формула должна типов ссылок: абсолютные,
- благодарю. То что формулы в ячейке пластмассы и др.), а вместе с
- виде (что бы ситуация. Что-то удаляю выбранных ячеек. для цифрового обозначения столбца листа исразу
- (см. файл примера,(это принципиально при
- С1
- использовании ссылок типа содержать сразу 2
- относительные и смешанные. доктор прописал
- С9 получим значение а там и ячейкойК сожалению я потом в другие
- или добавляю, то2 – номер столбца, столбцов и строк. независимо от вставкинажмите клавишу
- использовании относительных ссылок, перед или после, к которому прибавлено А1 столбцы обозначаются типа ссылок: абсолютные Сюда так жеmattiasrem2;4 ( цвета другие и не могу копировать
- диапазоны копировать) перестаёт работать. Как в котором находится Для возвращения ссылок новых столбцов?F4 столбцах в Именах). Теперь1
- число 5. Также буквами, а строки и относительные. относятся «имена» на:разделитель — любой: 2/4 колонок больше. или растягивать ячейкименяю
мне сделать, чтобы
Примеры использования функции АДРЕС в Excel
искомая ячейка. такого типа вРешение заключается в использовании, будут автоматически вставленыС, D, ЕB2); в формулах используются — цифрами, напримерВ C2 введите уже целые диапазоны ячеек.DV
2&4 2,4 2я4Вот я и — собъется форматирование.
A2 при добавлении илиАналогичным способом получаем ссылку качестве параметра a1 функции ДВССЫЛ(), которая
знаки $: =СУММ($А$2:$А$5 содержатся прогнозы продаж– активная ячейка;нажмите один раз клавишу ссылки на диапазоны D7. При использовании другую формулу: =B2/A$2. Рассмотрим их возможности, формулы SUMPRODUCT работают,
- подумал, если не Многие ячейки имеютна
- удалении элементов формула на ячейку с
- должно быть явно формирует ссылку на
- Еще раз нажмите клавишу в натуральном выражениина вкладке Формулы в
- F4 ячеек, например, формула ссылок типа R1C1 Чтобы изменить ссылки
и отличия при но иногда виснетТакже допускается такое
указывать жестко в или другой фонАДРЕС(СТРОКА()+1;СТОЛБЕЦ()) сохраняла свою работоспособность? максимальной ценой товара. указано логическое значение ячейку из текстовойF4
Как получить адрес ссылки на ячейку Excel?
по годам (в группе Определенные имена. Ссылка =СУММ(А2:А11) вычисляет сумму и столбцы, и в Excel сделайте практическом применении в Эксель. значение :
формуле строки и или другой цвет
,Ігор Гончаренко В результате получим: ЛОЖЬ или соответствующее
строки. Если ввести: ссылка будет модифицирована
- шт.). Задача: в выберите команду ПрисвоитьС1 значений из ячеек строки обозначаются цифрами, двойной щелчок левой формулах.Это из-за того,R4C2 колонки, а добиться шрифта. Мне именноа: напишите в любую
- Пример 3. В таблице числовое значение 0. в ячейку формулу:
в =СУММ(А$2:А$5 (фиксируются строки) столбцах имя;выделится и превратится
Адрес по номерам строк и столбцов листа Excel в стиле R1C1
А2А3 например R7C5 (R кнопкой мышки поАбсолютные ссылки позволяют нам что я прописалили того, чтобы они нужно в адресной
A50 ячейку =индекс(С:С;531)
Исходная таблица.» gif;base64,R0lGODdhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=» data-src=»https://img.my-excel.ru/excel-v-jachejku-nazvanie-lista_16_1.png» >
содержится ячейка, данныеСтиль ссылок в Excel =ДВССЫЛ(«B2»), то она
Еще раз нажмите клавишу
- F, G, Hв поле Имя введите,
- в, . означает ROW -
- ячейке или нажмите зафиксировать строку или
- большой диапазон ?B4
вычислялись сами, в
строке скопировать формулу- напотом добавляйте, удаляйте из которой используются может быть изменен
всегда будет указыватьF4посчитать годовые продажи например Сумма2ячеек;$C$1А11 строка, С означает клавишу F2 на столбец (или строку Массив $a$1:$aa$65000Serge_007 зависимости от того как текст и
АДРЕС(СТРОКА()+49;СТОЛБЕЦ()) сколько угодно строк в другом программном путем установки/снятия флажка
Получить адрес ячейки формулой
на ячейку с: ссылка будет модифицирована
в рублях, т.е.убедитесь, что в поле
(при повторных нажатиях. Однако, формула =СУММ($А$2:$А$11) COLUMN — столбец). клавиатуре. и столбец одновременно),Serge_007
: Я же написал: в какой ячейке вставить ее в
получается:потом в ячейку продукте. Для обеспечения
пункта меню «Стиль адресом
в =СУММ($А2:$А5 (фиксируется столбец)
перемножить столбцы Диапазон введена формула клавиши также вычисляет сумму Если аргумент А1Скопируйте ее в остальные
на которые должна: Да. SUMPRODUCT -Quote находится формула, то
уже отформатированную (по-другому)=ПОИСКПОЗ(ИСТИНА();(АДРЕС(СТРОКА()+1;СТОЛБЕЦ()):АДРЕС(СТРОКА()+49;СТОЛБЕЦ())=»»);ЛОЖЬ())
С531 напишите Вася совместимости необходимо предоставить ссылок R1C1», которыйB2Еще раз нажмите клавишуС, D, Е =СУММ(A1:A2)
F4
значений из тех имеет значение ИСТИНА ячейки диапазона C3:C4. ссылаться формула. Относительные «тяжёлая» формула массива.(Serge_007)200?’200px’:»+(this.scrollHeight+5)+’px’);»>1. Функция ЯЧЕЙКА(). один раз сделав ячейку.не работает.а теперь помотрите ссылку на нее находится в «Файлвне зависимости отF4на столбецНажмите ОК.ссылка будет принимать же ячеек. Тогда или 1 илиОписание новой формулы. Символ ссылки в ExcelKuklP0mega Ctrl+C, можно будетКазанскийДаже когда явно
что в ячейке,, в виде R1C1. – Параметры –
любых дальнейших действий: ссылка будет модифицирована
BТеперь в
последовательно вид в чем же разница? опущен, то функция доллара ($) в
изменяются автоматически при
: Серег, если ячейка: Сергей, мы говорим простым многократным Ctrl+V: Есть 2 решения: задаю адрес: в которой написано
Исходная таблица имеет следующий Формулы – Работа пользователя, вставки или в =СУММ(А2:А5 (относительная ссылка).. Использование механизма относительной
B2C$1, $C1, C1, $C$1Для создания абсолютной ссылки АДРЕС() возвращает ссылку адресе ссылок фиксирует копировании формулы вдоль
всего одна:
о разных вещах решить задачу. Растяжкой,1. Использовать спец.
=ПОИСКПОЗ(ИСТИНА();(АДРЕС(2;1):АДРЕС(50;1)=»»);ЛОЖЬ()) =индекс(С:С;531)
вид: с Формулами». удаления столбцов и Последующие нажатия изменяют адресации позволяет намвведем формулу =Сумма2ячеек., …). Ссылка вида используется знак $. типа А1; если адрес в новых
диапазона ячеек, как200?’200px’:»+(this.scrollHeight+5)+’px’);»>MsgBox sheets(2).usedrange.Address
=ЯЧЕЙКА(«адрес»;B4) копированием ячеек или
вставку — Формулы.тоже не работает.и что там. Для получения ссылки наЕсли требуется ссылка на т.д. ссылку заново по ввести для решения Результат будет тот,$C$1 Ссылка на диапазона этот аргумент имеет скопированных формулах.
по вертикали, такGS8888
Эта формула выдаст специальной вставкой мне
2. Включить стильПодскажите, плз., весли Вы не ячейку B6 используем ячейку, которая находитсяНебольшая сложность состоит в кругу. задачи только одну который мы ожидали:
называется записывается ввиде $А$2:$А$11. Абсолютная значение ЛОЖЬ (илиАбсолютные, относительные и смешанные и по горизонтали.: С НОВЫМ ГОДОМ такой результат кажется эту задачу
ссылок R1C1 (Параметры чем ошибка? умеете написать правильную следующую формулу: =АДРЕС(6;2;1;0).
в другом листе том, что еслиДля окончания ввода нажмите
Как вставить адрес ячейки в формулу массива?
формулу. В ячейку будет выведена суммаабсолютнойC$1, $C1 ссылка позволяет при 0), функция АДРЕС() ссылки в Excel:
Простой пример относительных
И РОЖДЕСТВОМ ВАС. $B$4 решать значительно трудоемче — Формулы). ВПытливый
формулу, это неАргументы функции: данного документа Excel, целевая ячейка пустая,ENTER.F
2-х ячеек из– смешанными, акопировании возвращает ссылку типа$A$2 – адрес абсолютной
адресов ячеек:МНЕ НУЖНА ВАШАНо чтобы появилось (либо потом цвета
этом стиле формула
: Адрес возвращает текст,
значит, что Excel
6 – номер строки полезно использовать параметр
то ДВССЫЛ() выводит
Чтобы изменить только первую или
вводим: =$В3*C3. Потом столбца слева (см. файл
С1относительнойформулы однозначно зафиксировать R1C1. ссылки с фиксациейЗаполните диапазон ячеек A2:A5 ПОМОЩЬ. Я ВИЖУ это значение -
восстанавливать прийдется, либо с одинаковой относительной
а не ссылку. не умеет правильно искомой ячейки;
[имя_листа], который принимает
0, что не втрорую часть ссылки -
протягиваем формулу маркером
примера, лист пример1). Если. адрес диапазона или
Чтобы изменить тип ссылок, по колонкам и разными показателями радиусов. ВЫ ХОРОШО РАЗБИРАЕТЕСЬ мне надо глазами миллион кликов по ссылкой выглядит одинаково Для того, чтобы считать.2 – номер столбца,
текстовое значение, соответствующее всегда удобно. Однако, установите мышкой курсор заполнения вниз до формулу ввести вТакм образом, введем в
адрес ячейки. Рассмотрим пример. используемый Microsoft Excel,
строкам, как по
В ячейку B2 введите В ЕКСЕЛЬ. У найти нужный адрес спец. вставкам). во всех ячейках. превратить адрес вразницу улавливаете между в котором содержится названию требуемого листа, это можно легко в нужную частьF6 ячейкуВ1Пусть в ячейке
нажмите кнопку вертикали, так и формулу вычисления объема МЕНЯ ТАКАЯ ПРОБЛЕМА. и ручками ввестиВот вроде все.gling ссылку, надо ее
«Excel не умеет ячейка;
например «Лист7». обойти, используя чуть ссылки и последовательно,B5формулу =А1*$С$1. ЭтоВ2Microsoft Office по горизонтали. сферы, которая будет ЕСТЬ СТОЛБЕЦ ДАТА,В4vikttur: Копируете ячейку с «обернуть» ДВССЫЛ()
правильно считать» и1 – тип ссылки
более сложную конструкцию нажимайте клавушуа затем весь столбец, то она будет
можно сделать ивведена формула =СУММ($А$2:$А$11), затем нажмите кнопку
$A2 – смешанная ссылка. ссылаться на значение ТИП И СУММА.в формулу.: До конца не формулой — выделяетеДВССЫЛ(АДРЕС(. ) & «:» «я не умею (абсолютная);Пример 1. В таблице с проверкой черезF4. таблицы протягиваем вправо суммировать ячейки в ручную, введя , а вПараметры Excel При копировании фиксируется
A2. Формула будет И ИДЕТ ПОДСЧЕТ
С таким же дочитал — много
нужный диапазон — & АДРЕС()) написать правильную формулу»0 – указание на Excel содержится ячейка, функцию ЕПУСТО():В заключении расширим тему
на столбцы A4:A5 знак $. ячейке(внизу окна) и колонка, а строка выглядеть следующим образом: ФОРМУЛОЙ
успехом я могу очень :)
специальная вставка —viktturпроблема в том,
стиль R1C1. отображающая динамически изменяемые
=ЕСЛИ(ЕПУСТО(ДВССЫЛ(«B2″));»»;ДВССЫЛ(«B2»)) абсолютной адресации. Предположим,G H
, если ввести вНажмемС2 выберите пункт изменяется. =(4/3)*3,14*A2^3=СУММЕСЛИМН(Отчет_День!F:F;Отчет_День!B:B;»>=01.01.2013″;Отчет_День!B:B;» СТОЛБЕЦ F:F туда поставить и=ИНДЕКС(E3:E20;ПОИСКПОЗ(1=1;E3:E20=»»;)-1) вставить формулы —ОК.: Вообще можно без что «Excel неВ результате получим ссылку: данные в зависимостиПри ссылке на ячейку что в ячейке.D10ENTERформула =СУММ(А2:А11). СкопировавФормулыA$2 – смешанная ссылка.Скопируйте формулу из B2 — ЭТО ЧИСЛА, другой адресИз-за того, что В этом случае применения АДРЕС: умеет» или вПрактическое применение функции АДРЕС: от определенных условий.В2B2Обратите внимание, что в, то – ячейкии протянем ее формулы вниз, например с. В группе При копировании фиксируется вдоль колонки A2:A5. КОТОРЫЕ Я СУММИРУЮНа нижней картинке приходится искать пустую форматы не собьются.=ИНДЕКС(A2:H50;5;4) том что «кто-то Поиск значения в Для работы сс другого листанаходится число 25, формуле =$В3*C3 перед
С9:С10 вниз. Теперь в помощью Маркера заполнения,Работа с формулами строка, а колонка
Как видите, относительные адреса ПО 2М КРИТЕРИЯМ:
значение = строку, получается формулаviktturvadi61 не умеет пользоваться диапазоне таблицы Excel актуальными данными в =ДВССЫЛ(«пример4!B2») может возникнуть с которым необходимо столбцом.В5 во всех ячейкахустановите или снимите
изменяется. помогают автоматически изменять1 — ДАТА$D$5 массива (как и: vadi61, говорим-воду-льем.: ув. Пытливый, возможностями Excel»? по столбцам и таблице, которая находится и другая сложность: выполнить ряд вычислений,BДругими словами, будут суммироватьсябудет правильная формула столбца флажокДля сравнения: A2 – адрес в каждой ДОЛЖНА БЫТЬ ОТ. ( а у Вас в
От Вас пример,
спасибо, сработало!извините. строкам. на другом листе
при изменении названия
например, возвести встоит значок $. 2 ячейки соседнего =А5*$С$1. Всем сотрудникамВСтиль ссылок R1C1
это адрес относительный, формуле. 01.01.2013 И ДО в действительности - файле). в котором покажетеПытливыйDima SПримечание: при использовании стиля
документа требуется получить
листа пример4 – разные степени (см. При копировании формулы столбца слева, находящиеся теперь достанется премияполучим одну и. без фиксации. ВоТак же стоит отметить
31.12.2013, Т.Е. ВЕСЬ занята ячейкаЛучше в ячейку проблему.: Да не за
: а если конкретно
R1C1 запись абсолютной ссылку на данную
формула перестает работать. файл примера, лист
определить адрес ячейки
=$В3*C3 в ячейки на той же
:).
ту же формулу =СУММ($А$2:$А$11),[Имя_листа]
время копирования формул закономерность изменения ссылок
ГОД 2013$B$4 вписать определенное значениеvadi61 что. по вопросу ссылки не содержит
ячейку. Но это также
пример4). Для этого столбцов
строке и строкойВведем в ячейку т.е. ссылка на Необязательный аргумент. Текстовое значение, строка (2) и в формулах. Данные2 — ЭТО
Я вообще не должен — число, текст
: ув. vikttur,Уважаемый vikttur дал
то есть
знака «$». ЧтобыНа листе «Курсы» создана можно обойти –
в столбцеF,GH выше.B1 диапазон ячеек при определяющее имя листа, столбец (A) автоматически
в B3 ссылаются ТИП
искать визуально и (если его невот пример. Сам
хороший совет, посколькуДВССЫЛ(«A»&СЧЁТ()) отличать абсолютные и таблица с актуальными см. пример изC, этот значок $
Ссылка на диапазон суммированияформулу =А1, представляющую копировании которое используется для изменяются на новые
на A3, B4СТОЛБЕЦ B:B -
тем более нужно видеть -
оригинал достаточно большой ДВССЫЛ — этоportmone
относительные ссылки используются
курсами валют: статьи Определяем имянапишем формулу возведения
говорит EXCEL о будет меняться в собой относительную ссылкуне изменилась формирования внешней ссылки. адреса относительно расположения на A4 и
ЭТО СТОЛБЕЦ ДАТуказывать цвет текста равный — это фрагмент.
т.н. «летучая» функция: Ігор Гончаренко, вдохните, квадратные скобки «[]».На отдельном листе «Цены» листа. в степень (значения том, что ссылку
зависимости от месторасположения на ячейку. А в столбце Например, формула =АДРЕС(1;1;;;»Лист2″) скопированной формулы, как т.д. Все зависит
СТОЛБЕЦ D:D -машине на определенную цвету заливки). ВВ файле отображается и пересчитывается от выдохните. Спасибо за Например, если в создана таблица сДругим способом заставить формулу степени введем в на столбец формулы на листе,
А1С возвращает значение Лист2!$A$1. по вертикали, так од того куда ЭТО СТОЛБЕЦ ТИПА ячейку. таком случае формула перечень деталей. К любого чиха на
Ваш фидбек, но
данном примере в
товарами, отображающая стоимость ссылаться на один
столбецB
но «расстояние» между. Что же произойдет
получим другой результат:Как видно из рисунка и по горизонтали.
будет ссылаться первая
В РЕЗУЛЬТАТЕ ПОДСЧЕТА
Машина должна
получается легкой:
каждой детали (по листе. Эти пересчеты, я и не
качестве параметра тип_ссылки в долларах США
и тот жеDмодифицировать не нужно. ячейкой с формулой с формулой при в ячейке
ниже (см. файлПримечание. В данном примере введенная формула, а Я ОШИБСЯ НА
искать сама.=ИНДЕКС(E3:E20;ПОИСКПОЗ(«конец»;E3:E20;)-1)
сути в отдельную конечно же, нагружают говорил, что Excel указать число 4,
(USD): столбец является использование
): =$B$2^$D2.
А вот перед
и диапазоном суммирования
ее копировании вС3 примера) функция АДРЕС() формула может содержать
ее копии будут СУММУ 12,00
Ее надо заставитьДиапазон не закреплять, мини-табличку) сгруппированы цены машину и замедляют не умеет, я ссылка на ячейку
В ячейку D3 поместим функции СМЕЩ() –Мы использовали абсолютную ссылку столбцом
всегда будет одинаковым ячейки расположенные нижебудет формула =СУММ(A3:A12),
возвращает адрес ячейки не только смешанную изменять ссылки относительно
ПОДСЧЕТ ИДЕТ В
проверить все столбцы задать размер не продаж. Цены меняются,
работу. прекрасно знаю, что примет следующий вид: ссылку на ячейку об этом читайте на ячейкуС (один столбец влево).В1
в ячейке во всевозможных форматах. ссылку, но и своего положения в
ДИАПАЗОНЕ 700 ЯЧЕЕК и строчки . меньше максимальной высоты поэтому эти мини-табличкиЯ вам показал
мои навыки работыТак выглядит абсолютный тип
таблицы, находящейся на статью Как заставить
B2такого значка нет
Относительная адресация при создании? После протягивания ееС4
Чаще всего адрес ячейки абсолютную: =B2/$A$2 результат диапазоне ячеек на И В КАКОЙ И когда найдется блока. Естественно, должно
растут по высоте для вашего варианта, в этом ПО ссылок по строкам листе «Курсы», в формулу все время. При любых изменениях и формула в формул для Условного вниз Маркером заполнения,
будет формула =СУММ(A4:A13)
требуется, чтобы вывести
будет одинаковый. Но листе. ИМЕННО Я НЕ ячейка с «1» соблюдаться условие, что (добавляются строки). Актуальная а vikttur предлагаетне идеальны, поэтому и столбцам при которой содержится информация ссылаться на один положения формулы абсолютная ячейке форматирования. в ячейке
и т.д. Т.е. значение ячейки. Для в практике часто УКАЗАЛ НУЖНЫЙ ТИП , тогда должен пусто (лучше, как
цена (нижняя ячейка принципиально другое решение, я здесь. использовании стиля R1C1. о курсе валюты и тот же ссылка всегда будетH6
Пусть необходимо выделить вВ5 при копировании ссылка этого используется другая
Абсолютная ссылка в Excel фиксирует ячейку в формуле
возникают случаи, когдаЗаполните табличку, так как Я НЕ ЗНАЮ. быть результат : замечено, значение) гарантированно колонки Е) и более удачное, наDima S, спасибоportmone USD. Для этого столбец.
ссылаться на ячейку,примет вид =$В6*E6. таблице, содержащей числабудет стоять формула была функция ДВССЫЛ(). без смешанных ссылок показано на рисунке:Я МОГУ ПРОГРАММНОстолбец2 строка4
Абсолютные и относительные ссылки в Excel
будет в искомом маркировка документа, в мой взгляд. большое!: Всем привет! введем следующую формулу:Функция АДРЕС возвращает адрес содержащую наше значениеСуществует несколько возможностей при от 1 до =А5, т.е. EXCELмодифицированаФормула =ДВССЫЛ(АДРЕС(6;5)) просто выведет не обойтись.
- Описание исходной таблицы. В КАК-ТО НАЙТИ АДРЕС
- (можно упростить диапазоне. которой эта ценаvadi61Все вышеперечисленные способыКак вставить в =АДРЕС(3;2;1;1;»Курсы»).
- определенной ячейки (текстовое 25:
вводе формулы ввести знак $ в 100, значения большеизменил.
значение из 6-йПолезный совет. Чтобы не ячейке A2 находиться СТРОКИ, В КОТ2 4)Еще совет. Плюсик указана (колонка F): vikttur, отлично работают, если адрес ячейки формулу?Значение параметров: значение), на которуюпри копировании формулы из адрес ячейки или диапазона. 50, причем, только
первоначальную формулу =A1.
Использование абсолютных и относительных ссылок в Excel
Другой пример. строки 5 столбца
вводить символ доллара актуальный курс евро ЕСТЬ ЧИСЛО 12,00Serge_007 группировки лучше располагать должны отображаться вПытливый, их просто вставитьПоясню — для3 – номер строки, указывают номера столбцаС3Н3 Рассмотрим ввод на в четных строках При копировании вправоПусть в диапазоне (Е). Эта формула ($) вручную, после по отношению к
В СТОЛБЦЕ СУММА: А я ведь в строке-заголовке, так верхней строке мини-табличекЯ просто не в ячейку. Но использования в качестве в которой содержится и строки. К– формула не примере формулы =СУММ($А$2:$А$5) (см. файл примера, в ячейкуА1:А5
эквивалентна формуле =Е6. указания адреса периодически доллару на сегодня. F:F И В спрашивал: логичнее и пустая (там, где указаны понял как я проблема в том, диапазона в формуле искомая ячейка; примеру, в результате изменится, и мы
1. Ввести знак $ лист пример2). ПостроимС1имеются числа (например,Возникает вопрос: «Зачем весь нажимайте клавишу F4 В диапазоне ячеек СТОЛБЦЕ ТИП D:DЦитата строка скроется. Арт.-№, и название
привяжу формулу написанную что если эти ПОИСКПОЗ мне нужно2 – номер столбца
- выполнения функции =АДРЕС(5;7) получим правильный результат можно вручную, последовательно такую таблицу:формула будет преобразована зарплата сотрудников отдела), этот огород с для выбора нужного B2:B4 находятся суммы
- ДОЛЖНО БЫТЬ ЗНАЧЕНИЕSerge_007200?’200px’:»+(this.scrollHeight+5)+’px’);»>Как Вы хотите
См. пример детали). Все мини-табличкиув. vikttur формулы вставить в получить адрес последней
с искомой ячейкой; будет выведено значение
- 625; вводя с клавиатуры всеСоздадим правило для Условного в =В1. а в функцией АДРЕС()?». Дело
- типа: абсолютный или в долларах. В НЕ РАВНО СЛОВУ узнать адрес? Увидеть
- vadi61 отделены друг отк своей задаче. большую формулу, что
заполненной ячейки1 – тип ссылки $G$5.при вставке нового столбца знаки =СУММ($А$2:$А$5) форматирования:Внимание!С1 в том, что смешанный. Это быстро диапазоне C2:C4 будут
«ПРОЕЗД» его? Получить в: ув. vikttur, друга пустой строкой. Там и строка я указал выше,Для этого я – абсолютная;Примечание: наличие символов «$» между столбцами
2. С помощью клавишивыделите диапазон таблицыПри использовании относительной– процент премии существуют определенные задачи, и удобно. находится суммы вФУНКЦИЕЙ ячейку? Ячейка с
Источник
Excel для Microsoft 365 Excel для Microsoft 365 для Mac Excel для Интернета Excel 2021 Excel 2021 для Mac Excel 2019 Excel 2019 для Mac Excel 2016 Excel 2016 для Mac Excel 2013 Excel 2010 Excel 2007 Excel для Mac 2011 Excel Starter 2010 Еще…Меньше
В этой статье описаны синтаксис формулы и использование функции АДРЕС в Microsoft Excel. Чтобы узнать больше о работе с почтовыми адресами и создании почтовых наклеек, см. по ссылкам в разделе См. также.
Описание
Функцию АДРЕС можно использовать для получения адреса ячейки на листе по номерам строки и столбца. Например, функция АДРЕС(2;3) возвращает значение $C$2. Еще один пример: функция АДРЕС(77;300) возвращает значение $KN$77. Чтобы передать функции АДРЕС номера строки и столбца в качестве ее аргументов, можно использовать другие функции (например, функции СТРОКА и СТОЛБЕЦ).
Синтаксис
АДРЕС(номер_строки;номер_столбца;[тип_ссылки];[a1];[имя_листа])
Аргументы функции АДРЕС указаны ниже.
-
Номер_строки Обязательный аргумент. Номер строки, используемый в ссылке на ячейку.
-
Номер_столбца Обязательный аргумент. Номер столбца, используемый в ссылке на ячейку.
-
Тип_ссылки Необязательный аргумент. Задает тип возвращаемой ссылки.
Тип_ссылки |
Возвращаемый тип ссылки |
1 или опущен |
Абсолютный |
2 |
Абсолютная строка; относительный столбец |
3 |
Относительная строка; абсолютный столбец |
4 |
Относительный |
-
A1 Необязательный аргумент. Логическое значение, которое определяет тип ссылок: А1 или R1C1. При использовании ссылок типа А1 столбцы обозначаются буквами, а строки — цифрами. При использовании ссылок типа R1C1 и столбцы, и строки обозначаются цифрами. Если аргумент А1 имеет значение ИСТИНА или опущен, то функция АДРЕС возвращает ссылку типа А1; если этот аргумент имеет значение ЛОЖЬ, функция АДРЕС возвращает ссылку типа R1C1.
Примечание: Чтобы изменить тип ссылок, используемый Microsoft Excel, откройте вкладку Файл, а затем нажмите кнопку Параметры и выберите пункт Формулы. В группе Работа с формулами установите или снимите флажок Стиль ссылок R1C1.
-
Имя_листа Необязательный аргумент. Текстовое значение, определяющее имя листа, которое используется для формирования внешней ссылки. Например, формула =АДРЕС(1;1;;;»Лист2″) возвращает значение Лист2!$A$1. Если аргумент имя_листа отсутствует, имя листа не используется, и адрес, возвращаемый функцией, ссылается на ячейку текущего листа.
Пример
Скопируйте образец данных из следующей таблицы и вставьте их в ячейку A1 нового листа Excel. Чтобы отобразить результаты формул, выделите их и нажмите клавишу F2, а затем — клавишу ВВОД. При необходимости измените ширину столбцов, чтобы видеть все данные.
Формула |
Описание |
Результат |
=АДРЕС(2;3) |
Абсолютная ссылка |
$C$2 |
=АДРЕС(2;3;2) |
Абсолютная строка; относительный столбец |
C$2 |
=АДРЕС(2;3;2;ЛОЖЬ) |
Абсолютная строка; относительный столбец с типом ссылки R1C1 |
R2C[3] |
=АДРЕС(2;3;1;ЛОЖЬ;»[Книга1]Лист1″) |
Абсолютная ссылка на другую книгу и лист |
‘[Книга1]Лист1’!R2C3 |
=АДРЕС(2;3;1;ЛОЖЬ;»ЛИСТ EXCEL») |
Абсолютная ссылка на другой лист |
‘ЛИСТ EXCEL’!R2C3 |
Нужна дополнительная помощь?
Используя Microsoft Excel, вы можете легко получить местоположение выбранной в данный момент ячейки в поле имени, которое отображается слева от панели формул. Но если ячейка названа, вы не можете проверить ее местоположение на основе отображения в поле имени. И если вы хотите напрямую показать полный адрес активной ячейки или отобразить адрес активной ячейки в указанной ячейке, что бы вы сделали? В этом руководстве мы покажем вам, как легко получить адрес активной ячейки с помощью формул и методов VBA.
Получить адрес активной ячейки с формулой
Получить адрес активной ячейки с кодом VBA
Отображение адреса активной ячейки в указанной ячейке с кодом VBA
Динамически отображать адрес активной ячейки с помощью удивительного инструмента
Получить адрес активной ячейки с формулой
В этом разделе мы предоставим вам формулу легкого получения адреса активной ячейки.
1. Выберите ячейку, чтобы сделать ее активной.
2. Введите в нее приведенную ниже формулу и нажмите Enter .
=ADDRESS(ROW(),COLUMN())
Затем вы можете увидеть, что адрес текущей выбранной ячейки сразу отображается в ячейке.
Внимание: Если вы выберете другую ячейку, адрес не изменится автоматически. Чтобы получить динамический адрес при выборе разных ячеек, примените следующие методы.
Получить адрес активной ячейки с кодом VBA
Вы также можете получить адрес активной ячейки с кодом VBA. Пожалуйста, сделайте следующее.
1. нажмите другой + F11 одновременно открыть Microsoft Visual Basic для приложений окно.
2. в Microsoft Visual Basic для приложений дважды щелкните имя текущего рабочего листа на левой панели, чтобы открыть редактор кода, затем скопируйте и вставьте приведенный ниже код VBA в редактор кода.
Код VBA: получить адрес активной ячейки
Sub selectRange()
MsgBox ActiveCell.Address
End Sub
3. Затем нажмите Run кнопку для запуска кода.
4. Затем появится диалоговое окно с адресом активной ячейки, указанным внутри.
Отображение адреса активной ячейки в указанной ячейке с кодом VBA
В другой ситуации вы хотите, чтобы адрес активной ячейки отображался в указанной ячейке. Каждый раз, когда вы переходите из одной ячейки в другую, адрес ячейки будет автоматически изменяться и отображаться в указанной ячейке. Пожалуйста, сделайте следующее.
1. Откройте Microsoft Visual Basic для приложений окно, нажав другой + F11 одновременно.
2. Дважды щелкните имя листа на левой панели, чтобы открыть редактор кода, затем скопируйте и вставьте в него приведенный ниже код.
Код VBA: отображать адрес активной ячейки в указанной ячейке
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Range("A1").Value = ActiveCell.Address
End Sub
Внимание: A1 — это ячейка, в которую вы хотите поместить адрес активной ячейки, вы можете изменить его на указанную ячейку для своих нужд.
3. Затем нажмите Файл > Закройте и вернитесь в Microsoft Excel Для выхода из Microsoft Visual Basic для приложений окно.
Вы можете видеть, что адрес активной ячейки отображается в ячейке A1, и адрес будет изменяться автоматически в зависимости от изменения активной ячейки. Смотрите скриншот:
Динамически отображать адрес активной ячейки с помощью удивительного инструмента
Если вы хотите динамически отображать адрес активной ячейки на листе, я настоятельно рекомендую Расширенная панель редактирования инструмент Kutools for Excel. Давайте посмотрим, как этот инструмент может динамически отображать адрес активной ячейки на листе.
1. Нажмите Кутулс > Показать спрятать > Расширенная панель редактирования для включения функции.
С этого момента каждый раз, когда вы щелкаете ячейку, появляется окно расширенной панели редактирования. И адрес активной ячейки будет отображаться в нижней части окна.
Tips: Вы можете просматривать и редактировать содержимое ячейки прямо в окне.
Если вы хотите получить бесплатную пробную версию (30-день) этой утилиты, пожалуйста, нажмите, чтобы загрузить это, а затем перейдите к применению операции в соответствии с указанными выше шагами.
Лучшие инструменты для работы в офисе
Kutools for Excel Решит большинство ваших проблем и повысит вашу производительность на 80%
- Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма …
- Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон…
- Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы… Предотвращение дублирования ячеек; Сравнить диапазоны…
- Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор …
- Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое …
- Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии…
- Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом …
- Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF…
- Более 300 мощных функций. Поддерживает Office/Excel 2007-2021 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.
Вкладка Office: интерфейс с вкладками в Office и упрощение работы
- Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
- Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
- Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 |
Option Explicit Sub PictureToCell(Nstrok As Long, Nstolb As Integer, _ ByVal name_of_Sheet As String, ByVal name_of_File As String) ''Накладывает' рисунок из файла 'name_of_File' на центр ячейки Cells(Nstrok, Nstolb) Dim i As Long, j As Integer Dim X As Double, Y As Double, CellsHeight As Double, CellsWidth As Double With ThisWorkbook.Sheets(name_of_Sheet) '________________________________________________ 'Проверка, явлеется ли ячейка частью объединённой If .Cells(Nstrok, Nstolb).MergeCells = True Then '________________________________________________ Dim strTmp As String, strTmp1 As String, Nstrok1 As String, _ Nstolb1 As String '________________________________________________________________________ 'Определение границ объединённой ячейки (номеров строк и столбцов) strTmp = .Cells(Nstrok, Nstolb).MergeArea.Address(ReferenceStyle:=xlR1C1) strTmp1 = Mid(strTmp, 2, InStr(1, strTmp, ':') - 2) Nstrok = Left(strTmp1, InStr(1, strTmp1, 'C') - 1) Nstolb = Right(strTmp1, Len(strTmp1) - InStr(1, strTmp1, 'C')) Nstrok1 = Right(strTmp, Len(strTmp) - InStr(1, strTmp, ':') - 1) Nstrok1 = Left(Nstrok1, InStr(1, Nstrok1, 'C') - 1) Nstolb1 = Right(strTmp, Len(strTmp) - InStr(1, strTmp, ':')) Nstolb1 = Right(Nstolb1, Len(Nstolb1) - InStr(1, Nstolb1, 'C')) '_________________________________________________________________________ '______________________________________________ 'Определение размера объединённой ячейки For i = Nstrok To Nstrok1 CellsHeight = CellsHeight + .Rows(i).Height Next i For j = Nstolb To Nstolb1 CellsWidth = CellsWidth + .Columns(j).Width Next j '_______________________________________________ Else CellsWidth = .Columns(Nstolb).Width CellsHeight = .Rows(Nstrok).Height End If '_________________________________________________ 'Определение координат верхнего левого угла ячейки For i = 1 To Nstrok - 1 Y = Y + .Rows(i).Height Next i For j = 1 To Nstolb - 1 X = X + .Columns(j).Width Next j '_________________________________________________ '_________________________________________________________________________ 'Добавление на лист рисунка из файла без изменения размеров последнего Dim objPic As Shape Set objPic = .Shapes.AddPicture(name_of_File, True, True, X, Y, True, True) '_________________________________________________________________________ End With '__________________________________________________ 'Выделение картинки и её перемещение в центр ячейки objPic.Select With Selection .ShapeRange.IncrementLeft (CellsWidth - .Width) / 2 .ShapeRange.IncrementTop (CellsHeight - .Height) / 2 End With '__________________________________________________ End Sub |
Всё о работе с ячейками в Excel-VBA: обращение, перебор, удаление, вставка, скрытие, смена имени.
Содержание:
Table of Contents:
- Что такое ячейка Excel?
- Способы обращения к ячейкам
- Выбор и активация
- Получение и изменение значений ячеек
- Ячейки открытой книги
- Ячейки закрытой книги
- Перебор ячеек
- Перебор в произвольном диапазоне
- Свойства и методы ячеек
- Имя ячейки
- Адрес ячейки
- Размеры ячейки
- Запуск макроса активацией ячейки
2 нюанса:
- Я почти везде стараюсь использовать ThisWorkbook (а не, например, ActiveWorkbook) для обращения к текущей книге, в которой написан этот код (считаю это наиболее безопасным для новичков способом обращения к книгам, чтобы случайно не внести изменения в другие книги). Для экспериментов можете вставлять этот код в модули, коды книги, либо листа, и он будет работать только в пределах этой книги.
- Я использую английский эксель и у меня по стандарту листы называются Sheet1, Sheet2 и т.д. Если вы работаете в русском экселе, то замените Thisworkbook.Sheets(«Sheet1») на Thisworkbook.Sheets(«Лист1»). Если этого не сделать, то вы получите ошибку в связи с тем, что пытаетесь обратиться к несуществующему объекту. Можно также заменить на Thisworkbook.Sheets(1), но это менее безопасно.
Что такое ячейка Excel?
В большинстве мест пишут: «элемент, образованный пересечением столбца и строки». Это определение полезно для людей, которые не знакомы с понятием «таблица». Для того, чтобы понять чем на самом деле является ячейка Excel, необходимо заглянуть в объектную модель Excel. При этом определения объектов «ряд», «столбец» и «ячейка» будут отличаться в зависимости от того, как мы работаем с файлом.
Объекты в Excel-VBA. Пока мы работаем в Excel без углубления в VBA определение ячейки как «пересечения» строк и столбцов нам вполне хватает, но если мы решаем как-то автоматизировать процесс в VBA, то о нём лучше забыть и просто воспринимать лист как «мешок» ячеек, с каждой из которых VBA позволяет работать как минимум тремя способами:
- по цифровым координатам (ряд, столбец),
- по адресам формата А1, B2 и т.д. (сценарий целесообразности данного способа обращения в VBA мне сложно представить)
- по уникальному имени (во втором и третьем вариантах мы будем иметь дело не совсем с ячейкой, а с объектом VBA range, который может состоять из одной или нескольких ячеек). Функции и методы объектов Cells и Range отличаются. Новичкам я бы порекомендовал работать с ячейками VBA только с помощью Cells и по их цифровым координатам и использовать Range только по необходимости.
Все три способа обращения описаны далее
Как это хранится на диске и как с этим работать вне Excel? С точки зрения хранения и обработки вне Excel и VBA. Сделать это можно, например, сменив расширение файла с .xls(x) на .zip и открыв этот архив.
Пример содержимого файла Excel:
Далее xl -> worksheets и мы видим файл листа
Содержимое файла:
То же, но более наглядно:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<worksheet xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" mc:Ignorable="x14ac xr xr2 xr3" xmlns:x14ac="http://schemas.microsoft.com/office/spreadsheetml/2009/9/ac" xmlns:xr="http://schemas.microsoft.com/office/spreadsheetml/2014/revision" xmlns:xr2="http://schemas.microsoft.com/office/spreadsheetml/2015/revision2" xmlns:xr3="http://schemas.microsoft.com/office/spreadsheetml/2016/revision3" xr:uid="{00000000-0001-0000-0000-000000000000}">
<dimension ref="B2:F6"/>
<sheetViews>
<sheetView tabSelected="1" workbookViewId="0">
<selection activeCell="D12" sqref="D12"/>
</sheetView>
</sheetViews>
<sheetFormatPr defaultRowHeight="14.4" x14ac:dyDescent="0.3"/>
<sheetData>
<row r="2" spans="2:6" x14ac:dyDescent="0.3">
<c r="B2" t="s">
<v>0</v>
</c>
</row>
<row r="3" spans="2:6" x14ac:dyDescent="0.3">
<c r="C3" t="s">
<v>1</v>
</c>
</row>
<row r="4" spans="2:6" x14ac:dyDescent="0.3">
<c r="D4" t="s">
<v>2</v>
</c>
</row>
<row r="5" spans="2:6" x14ac:dyDescent="0.3">
<c r="E5" t="s">
<v>0</v></c>
</row>
<row r="6" spans="2:6" x14ac:dyDescent="0.3">
<c r="F6" t="s"><v>3</v>
</c></row>
</sheetData>
<pageMargins left="0.7" right="0.7" top="0.75" bottom="0.75" header="0.3" footer="0.3"/>
</worksheet>
Как мы видим, в структуре объектной модели нет никаких «пересечений». Строго говоря рабочая книга — это архив структурированных данных в формате XML. При этом в каждую «строку» входит «столбец», и в нём в свою очередь прописан номер значения данного столбца, по которому оно подтягивается из другого XML файла при открытии книги для экономии места за счёт отсутствия повторяющихся значений. Почему это важно. Если мы захотим написать какой-то обработчик таких файлов, который будет напрямую редактировать данные в этих XML, то ориентироваться надо на такую модель и структуру данных. И правильное определение будет примерно таким: ячейка — это объект внутри столбца, который в свою очередь находится внутри строки в файле xml, в котором хранятся данные о содержимом листа.
Способы обращения к ячейкам
Выбор и активация
Почти во всех случаях можно и стоит избегать использования методов Select и Activate. На это есть две причины:
- Это лишь имитация действий пользователя, которая замедляет выполнение программы. Работать с объектами книги можно напрямую без использования методов Select и Activate.
- Это усложняет код и может приводить к неожиданным последствиям. Каждый раз перед использованием Select необходимо помнить, какие ещё объекты были выбраны до этого и не забывать при необходимости снимать выбор. Либо, например, в случае использования метода Select в самом начале программы может быть выбрано два листа вместо одного потому что пользователь запустил программу, выбрав другой лист.
Можно выбирать и активировать книги, листы, ячейки, фигуры, диаграммы, срезы, таблицы и т.д.
Отменить выбор ячеек можно методом Unselect:
Selection.Unselect
Отличие выбора от активации — активировать можно только один объект из раннее выбранных. Выбрать можно несколько объектов.
Если вы записали и редактируете код макроса, то лучше всего заменить Select и Activate на конструкцию With … End With. Например, предположим, что мы записали вот такой макрос:
Sub Macro1()
' Macro1 Macro
Range("F4:F10,H6:H10").Select 'выбрали два несмежных диапазона зажав ctrl
Range("H6").Activate 'показывает только то, что я начал выбирать второй диапазон с этой ячейки (она осталась белой). Это действие ни на что не влияет
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.Color = 65535 'залили желтым цветом, нажав на кнопку заливки на верхней панели
.TintAndShade = 0
.PatternTintAndShade = 0
End With
End Sub
Почему макрос записался таким неэффективным образом? Потому что в каждый момент времени (в каждой строке) программа не знает, что вы будете делать дальше. Поэтому в записи выбор ячеек и действия с ними — это два отдельных действия. Этот код лучше всего оптимизировать (особенно если вы хотите скопировать его внутрь какого-нибудь цикла, который должен будет исполняться много раз и перебирать много объектов). Например, так:
Sub Macro11()
'
' Macro1 Macro
Range("F4:F10,H6:H10").Select '1. смотрим, что за объект выбран (что идёт до .Select)
Range("H6").Activate
With Selection.Interior '2. понимаем, что у выбранного объекта есть свойство interior, с которым далее идёт работа
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.Color = 65535
.TintAndShade = 0
.PatternTintAndShade = 0
End With
End Sub
Sub Optimized_Macro()
With Range("F4:F10,H6:H10").Interior '3. переносим объект напрямую в конструкцию With вместо Selection
' ////// Здесь я для надёжности прописал бы ещё Thisworkbook.Sheet("ИмяЛиста") перед Range,
' ////// чтобы минимизировать риск любых случайных изменений других листов и книг
' ////// With Thisworkbook.Sheet("ИмяЛиста").Range("F4:F10,H6:H10").Interior
.Pattern = xlSolid '4. полностью копируем всё, что было записано рекордером внутрь блока with
.PatternColorIndex = xlAutomatic
.Color = 55555 '5. здесь я поменял цвет на зеленый, чтобы было видно, работает ли код при поочерёдном запуске двух макросов
.TintAndShade = 0
.PatternTintAndShade = 0
End With
End Sub
Пример сценария, когда использование Select и Activate оправдано:
Допустим, мы хотим, чтобы во время исполнения программы мы одновременно изменяли несколько листов одним действием и пользователь видел какой-то определённый лист. Это можно сделать примерно так:
Sub Select_Activate_is_OK()
Thisworkbook.Worksheets(Array("Sheet1", "Sheet3")).Select 'Выбираем несколько листов по именам
Thisworkbook.Worksheets("Sheet3").Activate 'Показываем пользователю третий лист
'Далее все действия с выбранными ячейками через Select будут одновременно вносить изменения в оба выбранных листа
'Допустим, что тут мы решили покрасить те же два диапазона:
Range("F4:F10,H6:H10").Select
Range("H6").Activate
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.Color = 65535
.TintAndShade = 0
.PatternTintAndShade = 0
End With
End Sub
Единственной причиной использовать этот код по моему мнению может быть желание зачем-то показать пользователю определённую страницу книги в какой-то момент исполнения программы. С точки зрения обработки объектов, опять же, эти действия лишние.
Получение и изменение значений ячеек
Значение ячеек можно получать/изменять с помощью свойства value.
'Если нужно прочитать / записать значение ячейки, то используется свойство Value
a = ThisWorkbook.Sheets("Sheet1").Cells (1,1).Value 'записать значение ячейки А1 листа "Sheet1" в переменную "a"
ThisWorkbook.Sheets("Sheet1").Cells (1,1).Value = 1 'задать значение ячейки А1 (первый ряд, первый столбец) листа "Sheet1"
'Если нужно прочитать текст как есть (с форматированием), то можно использовать свойство .text:
ThisWorkbook.Sheets("Sheet1").Cells (1,1).Text = "1"
a = ThisWorkbook.Sheets("Sheet1").Cells (1,1).Text
'Когда проявится разница:
'Например, если мы считываем дату в формате "31 декабря 2021 г.", хранящуюся как дата
a = ThisWorkbook.Sheets("Sheet1").Cells (1,1).Value 'эапишет как "31.12.2021"
a = ThisWorkbook.Sheets("Sheet1").Cells (1,1).Text 'запишет как "31 декабря 2021 г."
Ячейки открытой книги
К ячейкам можно обращаться:
'В книге, в которой хранится макрос (на каком-то из листов, либо в отдельном модуле или форме)
ThisWorkbook.Sheets("Sheet1").Cells(1,1).Value 'По номерам строки и столбца
ThisWorkbook.Sheets("Sheet1").Cells(1,"A").Value 'По номерам строки и букве столбца
ThisWorkbook.Sheets("Sheet1").Range("A1").Value 'По адресу - вариант 1
ThisWorkbook.Sheets("Sheet1").[A1].Value 'По адресу - вариант 2
ThisWorkbook.Sheets("Sheet1").Range("CellName").Value 'По имени ячейки (для этого ей предварительно нужно его присвоить)
'Те же действия, но с использованием полного названия рабочей книги (книга должна быть открыта)
Workbooks("workbook.xlsm").Sheets("Sheet1").Cells(1,1).Value 'По номерам строки и столбца
Workbooks("workbook.xlsm").Sheets("Sheet1").Cells(1,"A").Value 'По номерам строки и букве столбца
Workbooks("workbook.xlsm").Sheets("Sheet1").Range("A1").Value 'По адресу - вариант 1
Workbooks("workbook.xlsm").Sheets("Sheet1").[A1].Value 'По адресу - вариант 2
Workbooks("workbook.xlsm").Sheets("Sheet1").Range("CellName").Value 'По имени ячейки (для этого ей предварительно нужно его присвоить)
Ячейки закрытой книги
Если нужно достать или изменить данные в другой закрытой книге, то необходимо прописать открытие и закрытие книги. Непосредственно работать с закрытой книгой не получится, потому что данные в ней хранятся отдельно от структуры и при открытии Excel каждый раз производит расстановку значений по соответствующим «слотам» в структуре. Подробнее о том, как хранятся данные в xlsx см выше.
Workbooks.Open Filename:="С:closed_workbook.xlsx" 'открыть книгу (она становится активной)
a = ActiveWorkbook.Sheets("Sheet1").Cells(1,1).Value 'достать значение ячейки 1,1
ActiveWorkbook.Close False 'закрыть книгу (False => без сохранения)
Скачать пример, в котором можно посмотреть, как доставать и как записывать значения в закрытую книгу.
Код из файла:
Option Explicit
Sub get_value_from_closed_wb() 'достать значение из закрытой книги
Dim a, wb_path, wsh As String
wb_path = ThisWorkbook.Sheets("Sheet1").Cells(2, 3).Value 'get path to workbook from sheet1
wsh = ThisWorkbook.Sheets("Sheet1").Cells(3, 3).Value
Workbooks.Open Filename:=wb_path
a = ActiveWorkbook.Sheets(wsh).Cells(3, 3).Value
ActiveWorkbook.Close False
ThisWorkbook.Sheets("Sheet1").Cells(4, 3).Value = a
End Sub
Sub record_value_to_closed_wb() 'записать значение в закрытую книгу
Dim wb_path, b, wsh As String
wsh = ThisWorkbook.Sheets("Sheet1").Cells(3, 3).Value
wb_path = ThisWorkbook.Sheets("Sheet1").Cells(2, 3).Value 'get path to workbook from sheet1
b = ThisWorkbook.Sheets("Sheet1").Cells(5, 3).Value 'get value to record in the target workbook
Workbooks.Open Filename:=wb_path
ActiveWorkbook.Sheets(wsh).Cells(4, 4).Value = b 'add new value to cell D4 of the target workbook
ActiveWorkbook.Close True
End Sub
Перебор ячеек
Перебор в произвольном диапазоне
Скачать файл со всеми примерами
Пройтись по всем ячейкам в нужном диапазоне можно разными способами. Основные:
- Цикл For Each. Пример:
Sub iterate_over_cells() For Each c In ThisWorkbook.Sheets("Sheet1").Range("B2:D4").Cells MsgBox (c) Next c End Sub
Этот цикл выведет в виде сообщений значения ячеек в диапазоне B2:D4 по порядку по строкам слева направо и по столбцам — сверху вниз. Данный способ можно использовать для действий, в который вам не важны номера ячеек (закрашивание, изменение форматирования, пересчёт чего-то и т.д.).
- Ту же задачу можно решить с помощью двух вложенных циклов — внешний будет перебирать ряды, а вложенный — ячейки в рядах. Этот способ я использую чаще всего, потому что он позволяет получить больше контроля над исполнением: на каждой итерации цикла нам доступны координаты ячеек. Для перебора всех ячеек на листе этим методом потребуется найти последнюю заполненную ячейку. Пример кода:
Sub iterate_over_cells() Dim cl, rw As Integer Dim x As Variant 'перебор области 3x3 For rw = 1 To 3 ' цикл для перебора рядов 1-3 For cl = 1 To 3 'цикл для перебора столбцов 1-3 x = ThisWorkbook.Sheets("Sheet1").Cells(rw + 1, cl + 1).Value MsgBox (x) Next cl Next rw 'перебор всех ячеек на листе. Последняя ячейка определена с помощью UsedRange 'LastRow = ActiveSheet.UsedRange.Row + ActiveSheet.UsedRange.Rows.Count - 1 'LastCol = ActiveSheet.UsedRange.Column + ActiveSheet.UsedRange.Columns.Count - 1 'For rw = 1 To LastRow 'цикл перебора всех рядов ' For cl = 1 To LastCol 'цикл для перебора всех столбцов ' Действия ' Next cl 'Next rw End Sub
- Если нужно перебрать все ячейки в выделенном диапазоне на активном листе, то код будет выглядеть так:
Sub iterate_cell_by_cell_over_selection() Dim ActSheet As Worksheet Dim SelRange As Range Dim cell As Range Set ActSheet = ActiveSheet Set SelRange = Selection 'if we want to do it in every cell of the selected range For Each cell In Selection MsgBox (cell.Value) Next cell End Sub
Данный метод подходит для интерактивных макросов, которые выполняют действия над выбранными пользователем областями.
- Перебор ячеек в ряду
Sub iterate_cells_in_row() Dim i, RowNum, StartCell As Long RowNum = 3 'какой ряд StartCell = 0 ' номер начальной ячейки (минус 1, т.к. в цикле мы прибавляем i) For i = 1 To 10 ' 10 ячеек в выбранном ряду ThisWorkbook.Sheets("Sheet1").Cells(RowNum, i + StartCell).Value = i '(i + StartCell) добавляет 1 к номеру столбца при каждом повторении Next i End Sub
- Перебор ячеек в столбце
Sub iterate_cells_in_column() Dim i, ColNum, StartCell As Long ColNum = 3 'какой столбец StartCell = 0 ' номер начальной ячейки (минус 1, т.к. в цикле мы прибавляем i) For i = 1 To 10 ' 10 ячеек ThisWorkbook.Sheets("Sheet1").Cells(i + StartCell, ColNum).Value = i ' (i + StartCell) добавляет 1 к номеру ряда при каждом повторении Next i End Sub
Свойства и методы ячеек
Имя ячейки
Присвоить новое имя можно так:
Thisworkbook.Sheets(1).Cells(1,1).name = "Новое_Имя"
Для того, чтобы сменить имя ячейки нужно сначала удалить существующее имя, а затем присвоить новое. Удалить имя можно так:
ActiveWorkbook.Names("Старое_Имя").Delete
Пример кода для переименования ячеек:
Sub rename_cell()
old_name = "Cell_Old_Name"
new_name = "Cell_New_Name"
ActiveWorkbook.Names(old_name).Delete
ThisWorkbook.Sheets(1).Cells(2, 1).Name = new_name
End Sub
Sub rename_cell_reverse()
old_name = "Cell_New_Name"
new_name = "Cell_Old_Name"
ActiveWorkbook.Names(old_name).Delete
ThisWorkbook.Sheets(1).Cells(2, 1).Name = new_name
End Sub
Адрес ячейки
Sub get_cell_address() ' вывести адрес ячейки в формате буква столбца, номер ряда
'$A$1 style
txt_address = ThisWorkbook.Sheets(1).Cells(3, 2).Address
MsgBox (txt_address)
End Sub
Sub get_cell_address_R1C1()' получить адрес столбца в формате номер ряда, номер столбца
'R1C1 style
txt_address = ThisWorkbook.Sheets(1).Cells(3, 2).Address(ReferenceStyle:=xlR1C1)
MsgBox (txt_address)
End Sub
'пример функции, которая принимает 2 аргумента: название именованного диапазона и тип желаемого адреса
'(1- тип $A$1 2- R1C1 - номер ряда, столбца)
Function get_cell_address_by_name(str As String, address_type As Integer)
'$A$1 style
Select Case address_type
Case 1
txt_address = Range(str).Address
Case 2
txt_address = Range(str).Address(ReferenceStyle:=xlR1C1)
Case Else
txt_address = "Wrong address type selected. 1,2 available"
End Select
get_cell_address_by_name = txt_address
End Function
'перед запуском нужно убедиться, что в книге есть диапазон с названием,
'адрес которого мы хотим получить, иначе будет ошибка
Sub test_function() 'запустите эту программу, чтобы увидеть, как работает функция
x = get_cell_address_by_name("MyValue", 2)
MsgBox (x)
End Sub
Размеры ячейки
Ширина и длина ячейки в VBA меняется, например, так:
Sub change_size()
Dim x, y As Integer
Dim w, h As Double
'получить координаты целевой ячейки
x = ThisWorkbook.Sheets("Sheet1").Cells(2, 2).Value
y = ThisWorkbook.Sheets("Sheet1").Cells(3, 2).Value
'получить желаемую ширину и высоту ячейки
w = ThisWorkbook.Sheets("Sheet1").Cells(6, 2).Value
h = ThisWorkbook.Sheets("Sheet1").Cells(7, 2).Value
'сменить высоту и ширину ячейки с координатами x,y
ThisWorkbook.Sheets("Sheet1").Cells(x, y).RowHeight = h
ThisWorkbook.Sheets("Sheet1").Cells(x, y).ColumnWidth = w
End Sub
Прочитать значения ширины и высоты ячеек можно двумя способами (однако результаты будут в разных единицах измерения). Если написать просто Cells(x,y).Width или Cells(x,y).Height, то будет получен результат в pt (привязка к размеру шрифта).
Sub get_size()
Dim x, y As Integer
'получить координаты ячейки, с которой мы будем работать
x = ThisWorkbook.Sheets("Sheet1").Cells(2, 2).Value
y = ThisWorkbook.Sheets("Sheet1").Cells(3, 2).Value
'получить длину и ширину выбранной ячейки в тех же единицах измерения, в которых мы их задавали
ThisWorkbook.Sheets("Sheet1").Cells(2, 6).Value = ThisWorkbook.Sheets("Sheet1").Cells(x, y).ColumnWidth
ThisWorkbook.Sheets("Sheet1").Cells(3, 6).Value = ThisWorkbook.Sheets("Sheet1").Cells(x, y).RowHeight
'получить длину и ширину с помощью свойств ячейки (только для чтения) в поинтах (pt)
ThisWorkbook.Sheets("Sheet1").Cells(7, 9).Value = ThisWorkbook.Sheets("Sheet1").Cells(x, y).Width
ThisWorkbook.Sheets("Sheet1").Cells(8, 9).Value = ThisWorkbook.Sheets("Sheet1").Cells(x, y).Height
End Sub
Скачать файл с примерами изменения и чтения размера ячеек
Запуск макроса активацией ячейки
Для запуска кода VBA при активации ячейки необходимо вставить в код листа нечто подобное:
3 важных момента, чтобы это работало:
1. Этот код должен быть вставлен в код листа (здесь контролируется диапазон D4)
2-3. Программа, ответственная за запуск кода при выборе ячейки, должна называться Worksheet_SelectionChange и должна принимать значение переменной Target, относящейся к триггеру SelectionChange. Другие доступные триггеры можно посмотреть в правом верхнем углу (2).
Скачать файл с базовым примером (как на картинке)
Скачать файл с расширенным примером (код ниже)
Option Explicit
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
' имеем в виду, что триггер SelectionChange будет запускать эту Sub после каждого клика мышью (после каждого клика будет проверяться:
'1. количество выделенных ячеек и
'2. не пересекается ли выбранный диапазон с заданным в этой программе диапазоном.
' поэтому в эту программу не стоит без необходимости писать никаких других тяжелых операций
If Selection.Count = 1 Then 'запускаем программу только если выбрано не более 1 ячейки
'вариант модификации - брать адрес ячейки из другой ячейки:
'Dim CellName as String
'CellName = Activesheet.Cells(1,1).value 'брать текстовое имя контролируемой ячейки из A1 (должно быть в формате Буква столбца + номер строки)
'If Not Intersect(Range(CellName), Target) Is Nothing Then
'для работы этой модификации следующую строку надо закомментировать/удалить
If Not Intersect(Range("D4"), Target) Is Nothing Then
'если заданный (D4) и выбранный диапазон пересекаются
'(пересечение диапазонов НЕ равно Nothing)
'можно прописать диапазон из нескольких ячеек:
'If Not Intersect(Range("D4:E10"), Target) Is Nothing Then
'можно прописать несколько диапазонов:
'If Not Intersect(Range("D4:E10"), Target) Is Nothing or Not Intersect(Range("A4:A10"), Target) Is Nothing Then
Call program 'выполняем программу
End If
End If
End Sub
Sub program()
MsgBox ("Program Is running") 'здесь пишем код того, что произойдёт при выборе нужной ячейки
End Sub
Как определить адрес активной ячейки.
Q: Как в макросе узнать и использовать текущее положение курсора (не мышиного, естественно)?
A:Очень просто! ActiveCell.Row и ActiveCell.Column — покажут координаты активной ячейки.
[ Назад ]
[ Оглавление ]
[ Далее ]
Оставить комментарий
Комментарий:
можно использовать BB-коды Максимальная длина комментария — 4000 символов. |
|
|
Комментарии
1.
17 апреля 2013, 22:49:22
Спасибо, освежило память))
2.
64K
28 сентября 2010 года
Vladlen70
0 / / 28.09.2010
28 сентября 2010, 16:25:13
А не проще ли использовать — ActiveCell.Address или Activecell.AddressLocal?
Как прописать зависимость адреса ячейки от числовых значений
О том, как записать значение координат ячейки.
Для записи координат (адреса) ячейки в «Эксель» используется функция «АДРЕС».
Сама по себе эта функция используется довольно редко , но в тех случаях когда нужно в формуле прописать меняющийся в зависимости от значения адрес ячейки эта функция незаменима.
Пример записи функции «Адрес» :
- Установить курсор в ячейку или в формулу;
- Выбрать в мастере функций «Адрес»;
- В появившемся окне выбрать номер строки (число обозначающее, какая по счету строка, как бы ось Y);
- Выбрать номер столбца (число обозначающее, какой по счету столбец, как бы ось X);
- Тип ссылки – это число от 1 до 4 (определяет в каком формате писать ссылку: 1 или опущен =Абсолютный адрес ячейки. Точный адрес ячейки в формуле, ссылающийся на данную ячейку независимо от положения ячейки с формулой. Абсолютный адрес ячейки имеет формат $A$1.; 2 = Строка абсолютная, а столбец относительный; 3 = Относительная строка и абсолютный столбец; 4 = полностью относительный адрес.)
- Значение А1 – это аргумент отвечающий за формат ссылки типа A1 или R1C Этот аргумент может иметь значение 1(«ИСТИНА») и 0 (ЛОЖЬ).
- Так же можно указать имя листа, на котором расположена ячейка.
- Нажать «ENTER» или «OK»
Функции ссылок и массивов Excel
В данной статье рассмотрены некоторые функции по работе со ссылками и массивами:
Функция ВПР
Вертикальное первое равенство. Ищет совпадение по ключу в первом столбце определенного диапазона и возвращает значение из указанного столбца этого диапазона в совпавшей с ключом строке.
Синтаксис: =ВПР(ключ; диапазон; номер_столбца; [интервальный_просмотр]), где
- ключ – обязательный аргумент. Искомое значение, для которого необходимо вернуть значение.
- диапазон – обязательный аргумент. Таблица, в которой необходимо найти значение по ключу. Первый столбец таблицы (диапазона) должен содержать значение совпадающее с ключом, иначе будет возвращена ошибка #Н/Д.
- номер_столбца – обязательный аргумент. Порядковый номер столбца в указанном диапазоне из которого необходимо возвратить значение в случае совпадения ключа.
- интервальный_просмотр – необязательный аргумент. Логическое значение указывающее тип просмотра:
- ЛОЖЬ – функция ищет точное совпадение по первому столбцу таблицы. Если возможно несколько совпадений, то возвращено будет самое первое. Если совпадение не найдено, то функция возвращает ошибку #Н/Д.
- ИСТИНА – функция ищет приблизительное совпадение. Является значением по умолчанию. Приблизительное совпадение означает, если не было найдено ни одного совпадения, то функция вернет значение предыдущего ключа. При этом предыдущим будет считаться тот ключ, который идет перед искомым согласно сортировке от меньшего к большему либо от А до Я. Поэтому, перед применением функции с данным интервальным просмотром, предварительно отсортируйте первый столбец таблицы по возрастанию, так как, если это не сделать, функция может вернуть неправильный результат. Когда найдено несколько совпадений, возвращается последнее из них.
Важно не путать, что номер столбца указывается не по индексу на листе, а по порядку в указанном диапазоне.
На изображении приведено 3 таблицы. Первая и вторая таблицы располагают исходными данными. Третья таблица собрана из первых двух.
В первой таблице приведены категории товара и расположение каждой категории.
Во второй категории имеется список всех товаров с указанием цен.
Третья таблица содержать часть товаров для которых необходимо определить цену и расположение.
Для цены необходимо использовать функцию ВПР с точным совпадением (интервальный просмотр ЛОЖЬ), так как данный параметр определен для всех товаров и не предусматривает использование цены другого товара, если вдруг она по случайности еще не определена.
Для определения расположения товара используется ВПР с приблизительным совпадением (интервальный просмотр ИСТИНА), так как распределение товара осуществляется по категориям. Из-за того, что наименование товара состоит из названия категории плюс дополнительный текст, по условиям сортировки от А до Я наименования товаров будут идти сразу после наименования категории, поэтому когда в таблице не обнаруживается совпадений с ключом подтягивается первое значение сверху.
В принципе, данный подход устраивал бы, если для товаров, для которых отсутствует категория, не подтягивалось расположение. Обратите внимание на товар «Лук Подмосковье». Для него определено расположение «Стелаж №2», хотя в первой таблице нет категории «Лук». Это происходит все по тем же причинам, когда функцией не обнаруживается равенств, то она определяет для значения значение меньшего самого близкого по сортировке ключа, а для «Лук Подмосковье» это категория «Картофель».
Он подобного эффекта можно избавиться путем определения категории из наименования товара используя текстовые функции ЛЕВСИМВ(C11;ПОИСК(» «;C11)-1), которые вернут все символы до первого пробела, а также изменить интервальный просмотр на точный.
Помимо всего описанного, функция ВПР позволяет применять для текстовых значений подстановочные символы – * (звездочка – любое количество любых символов) и ? (один любой символ). Например, для искомого значения «*» & «иван» & «*» могут подойти строки Иван, Иванов, диван и т.д.
Также данная функция может искать значения в массивах – =ВПР(1;<2;»Два»:1;»Один»>;2;ЛОЖЬ) – результат выполнения строка «Два».
Функция ГПР
Горизонтальное первое равенство. Ищет совпадение по ключу в первой строке определенного диапазона и возвращает значение из указанной строки этого диапазона в совпавшем с ключом столбце.
Синтаксис: =ГПР(ключ; диапазон; номер_строки; [интервальный_просмотр]).
Так как функция аналогична функции ВПР, за исключением того, что использует горизонтальные таблицы вместо вертикальных, то описания и примеры использования подходят и для ГПР с учетом упомянутых различий.
Функция СТРОКА
Определяет и возвращает номер строки указанной ссылкой ячейки.
Синтаксис: =СТРОКА([ссылка]), где аргумент «ссылка» не является обязательным. Если он опущен, но возвращается номер текущей строки.
=СТРОКА(D4) – результат 4.
=СТРОКА() – функция вернет номер строки, в которой она расположена.
Функция СТОЛБЕЦ
Возвращает номер столбца ячейки, указанной ссылкой.
Синтаксис: =СТОЛБЕЦ([ссылка]), где «ссылка» не обязательный аргумент. По умолчанию возвращается номер текущего столбца.
=СТОЛБЕЦ(C4) – формула вернет значение 3.
=СТОЛБЕЦ() – функция возвращает номер столбца, в котором расположена.
Функция АДРЕС
Возвращает текст, представляющий адрес ячейки, заданной номерами строки и столбца.
Синтаксис: =АДРЕС(строка; столбец; [тип_закрепления]; [стиль_ссылки]; [имя_листа]), где:
- Строка – обязательный аргумент. Число, представляющая номер строки, для которой необходимо вернуть адрес;
- Столбец – обязательный аргумент. Число, представляющее номер столбца целевой ячейки.
- тип_закрепления – необязательный аргумент. Число от 1 до 4, обозначающее закрепление индексов ссылки:
- 1 – значение по умолчанию, когда закреплены все индексы;
- 2 – закрепление индекса строки;
- 3 – закрепление индекса столбца;
- 4 – адрес без закреплений.
- стиль_ссылки – необязательный аргумент. Логическое значение:
- ИСТИНА – формат ссылок «A1»;
- ЛОЖЬ – формат ссылок «R1C1».
- имя_листа – необязательный аргумент. Строка, представляющая имя листа, который необходимо добавить к тексту адреса ячейки.
=АДРЕС(1;1) – возвращает $A$1.
=АДРЕС(1;1;4) – возвращает A1.
=АДРЕС(1;1;4;ЛОЖЬ) – результат R[1]C[1].
=АДРЕС(1;1;4;ЛОЖЬ;»Лист1″) – результат выполнения функции Лист1!R[1]C[1].
Функция ДВССЫЛ
Преобразует адрес ссылки, заданный текстовой строкой, в ссылку на данный адрес.
Синтаксис: =ДВССЫЛ(адрес_ссылки; [стиль_ссылки]), где
- адрес_ссылки – обязательный аргумент. Строка, представляющая адрес ссылки на ячейку или диапазон. Например, «C3», «R3C3» или «D8:D9».
- стиль_ссылки – необязательный аргумент. Логическое значение, определяющее стиль ссылки:
- ИСТИНА – стиль A1. Является значением по умолчанию;
- ЛОЖЬ – стиль R1C1.
=ДВССЫЛ(«a3») – возвращает ссылку на ячейку A3.
=ДВССЫЛ(«r3c3») – вернет ошибку #ССЫЛКА!, так как текст для ссылки в формате R1C1, а второй аргумент имеет значение по умолчанию.
=ДВССЫЛ(«r3c3»; ЛОЖЬ) – возвращает ссылку на ячейку C3.
=ДВССЫЛ(АДРЕС(СТРОКА(C3);СТОЛБЕЦ(C3))) – функция вернет аналогичный предыдущему примеру результат.
Вложение функции ДВССЫЛ со ссылкой на диапазон:
Функция ЧСТРОК
Возвращает число строк в указанном диапазоне или массиве.
Синтаксис: =ЧСТРОК(ссылка), где «ссылка» обязательный аргумент, являющийся ссылкой на ячейку, диапазон либо массив.
Пример использования:
=ЧСТРОК(D1:D8) – функция возвращает результат 8.
=ЧСТРОК(<1:2:3:4:5>) – функция определят, что в массиве 5 строк.
Функция ЧИСЛСТОЛБ
Возвращает число столбцов в указанном диапазоне или массиве.
Синтаксис: =ЧИСЛСТОЛБ(ссылка), где «ссылка» обязательный аргумент, являющийся ссылкой на ячейку, диапазон либо массив.
Пример использования:
=ЧИСЛСТОЛБ(A5:D5) – результат функции 4.
=ЧИСЛСТОЛБ(<1;2;3;4;5>) – функция определят, что в массиве 5 столбцов.
Функция СМЕЩ
Смещает ссылку на диапазон на указанное количество строк и столбцов, а также позволяет изменить его размерность.
Функция не передвигает и не изменяет самих ячеек, а только подменяет саму ссылку.
Синтаксис: = СМЕЩ (ссылка; смещ_по_строкам; смещ_по_столбцам; [высота]; [ширина]), где
- ссылка – обязательный аргумент. Ссылка на ячейку либо диапазон, относительно которого необходимо произвести смещение.
- смещ_по_строкам – обязательный аргумент. Отрицательное либо положительное число, указывающее, на какое количество строк необходимо сместить диапазон.
- смещ_по_столбцам – обязательный аргумент. Отрицательное либо положительное число, указывающее, на какое количество столбцов необходимо сместить диапазон.
- высота – необязательный аргумент. Натуральное число (кроме нуля), определяющее количество строк в новом (смещенном) диапазоне.
- ширина – необязательный аргумент. Натуральное число (кроме нуля), определяющее количество столбцов в новом диапазоне.
Если в результате смещения диапазон стал выходить на пределы листа, то функция возвращает ошибку #ССЫЛКА!.
Для примера будем использовать вложение функции СМЕЩ в функцию СУММ.
Изначально ссылаемся на диапазон из 10 строк и 1 столбца, где все ячейки имеют значение 2. Таким образом получает результат выполнения формулы – 20.
Теперь сместим диапазон на один столбец влево, т.е. на -1.
Снова изменим ссылку, а именно расширим до 4 столбцов. После этого возвращаемая ссылка станет A3:D12. Результат на изображении.
Функция ПОИСКПОЗ
Возвращает позицию элемента, заданного по значению, в диапазоне либо массиве.
Синтаксис: =ПОИСКПОЗ(искомое_значение; массив; [тип_сопоставления]), где:
- искомое_значение – обязательный аргумент. Значение элемента, который необходимо найти в массиве.
- Массив – обязательный аргумент. Одномерный диапазон либо массив для поиска элемента.
- тип_сопоставления – необязательный аргумент. Число 1, 0 или -1, определяющее способ поиска элемента:
- 1 – значение по умолчанию. Если совпадений не найдено, то возвращается позиция ближайшего меньшего по значению к искомому элементу. Массив или диапазон должен быть отсортирован от меньшего к большему или от А до Я.
- 0 – функция ищет точное совпадение. Если не найдено, то возвращается ошибка #Н/Д.
- -1 – Если совпадений не найдено, то возвращается позиция ближайшего большего по значению к искомому элементу. Массив или диапазон должен быть отсортирован по убыванию.
Пример использования:
=ПОИСКПОЗ(«Г»; <«а»;»б»;»в»;»г»;»д»>) – функция возвращает результат 4. При этом регистр не учитывается.
=ПОИСКПОЗ(«е»; <«а»;»б»;»в»;»г»;»д»>; 1) – результат 5, т.к. элемента не найдено, поэтому возвращается ближайший меньший по значению элемент. Элементы массива записаны по возрастанию.
=ПОИСКПОЗ(«е»; <«а»;»б»;»в»;»г»;»д»>; 0) – возвращается ошибка, т.к. элемент не найден, а тип сопоставления указан на точное совпадение.
=ПОИСКПОЗ(«в»; <«д»;»г»;»в»;»б»;»а»>; -1) – результат 3.
=ПОИСКПОЗ(«д»; <«а»;»б»;»в»;»г»;»д»>; -1) – элемент не найден, хотя присутствует в массиве. Функция возвращает неверный результат, так как последний аргумент принимает значение -1, а элементы НЕ расположены по убыванию.
Для текстовых значений функция допускает использование подстановочных символов «*» и «?».
Если материалы office-menu.ru Вам помогли, то поддержите, пожалуйста, проект, чтобы мы могли развивать его дальше.
У Вас недостаточно прав для комментирования.
АДРЕС (функция АДРЕС)
В этой статье описаны синтаксис формулы и использование функции АДРЕС в Microsoft Excel. Чтобы узнать больше о работе с почтовыми адресами и создании почтовых наклеек, см. по ссылкам в разделе См. также.
Функцию АДРЕС можно использовать для получения адреса ячейки на листе по номерам строки и столбца. Например, функция АДРЕС(2;3) возвращает значение $C$2. Еще один пример: функция АДРЕС(77;300) возвращает значение $KN$77. Чтобы передать функции АДРЕС номера строки и столбца в качестве ее аргументов, можно использовать другие функции (например, функции СТРОКА и СТОЛБЕЦ).
Аргументы функции АДРЕС указаны ниже.
Номер_строки Обязательный аргумент. Номер строки, используемый в ссылке на ячейку.
Номер_столбца Обязательный аргумент. Номер столбца, используемый в ссылке на ячейку.
Тип_ссылки Необязательный аргумент. Задает тип возвращаемой ссылки.
Возвращаемый тип ссылки
Абсолютная строка; относительный столбец
Относительная строка; абсолютный столбец
A1 Необязательный аргумент. Логическое значение, которое определяет тип ссылок: А1 или R1C1. При использовании ссылок типа А1 столбцы обозначаются буквами, а строки — цифрами. При использовании ссылок типа R1C1 и столбцы, и строки обозначаются цифрами. Если аргумент А1 имеет значение ИСТИНА или опущен, то функция АДРЕС возвращает ссылку типа А1; если этот аргумент имеет значение ЛОЖЬ, функция АДРЕС возвращает ссылку типа R1C1.
Примечание: Чтобы изменить тип ссылок, используемый Microsoft Excel, откройте вкладку Файл, а затем нажмите кнопку Параметры и выберите пункт Формулы. В группе Работа с формулами установите или снимите флажок Стиль ссылок R1C1.
Имя_листа Необязательный аргумент. Текстовое значение, определяющее имя листа, которое используется для формирования внешней ссылки. Например, формула =АДРЕС(1;1;;;»Лист2″) возвращает значение Лист2!$A$1. Если аргумент имя_листа отсутствует, имя листа не используется, и адрес, возвращаемый функцией, ссылается на ячейку текущего листа.
Скопируйте образец данных из следующей таблицы и вставьте их в ячейку A1 нового листа Excel. Чтобы отобразить результаты формул, выделите их и нажмите клавишу F2, а затем — клавишу ВВОД. При необходимости измените ширину столбцов, чтобы видеть все данные.
30 функций Excel за 30 дней: АДРЕС (ADDRESS)
Вчера в марафоне 30 функций Excel за 30 дней мы находили элементы массива при помощи функции MATCH (ПОИСКПОЗ) и обнаружили, что она отлично работает в команде с другими функциями, такими как VLOOKUP (ВПР) и INDEX (ИНДЕКС).
20-й день нашего марафона мы посвятим изучению функции ADDRESS (АДРЕС). Она возвращает адрес ячейки в текстовом формате, используя номер строки и столбца. Нужен ли нам этот адрес? Можно ли сделать то же самое с помощью других функций?
Давайте обратимся к сведениям по функции ADDRESS (АДРЕС) и изучим примеры работы с ней. Если у Вас есть дополнительная информация или примеры, пожалуйста, делитесь ими в комментариях.
Функция 20: ADDRESS (АДРЕС)
Функция ADDRESS (АДРЕС) возвращает ссылку на ячейку в виде текста, основываясь на номере строки и столбца. Она может возвращать абсолютный или относительный адрес в стиле ссылок A1 или R1C1. К тому же в результат может быть включено имя листа.
Как можно использовать функцию ADDRESS (АДРЕС)?
Функция ADDRESS (АДРЕС) может возвратить адрес ячейки или работать в сочетании с другими функциями, чтобы:
- Получить адрес ячейки, зная номер строки и столбца.
- Найти значение ячейки, зная номер строки и столбца.
- Возвратить адрес ячейки с самым большим значением.
Синтаксис ADDRESS (АДРЕС)
Функция ADDRESS (АДРЕС) имеет вот такой синтаксис:
ADDRESS(row_num,column_num,[abs_num],[a1],[sheet_text])
АДРЕС(номер_строки;номер_столбца;[тип_ссылки];[а1];[имя_листа])
- abs_num (тип_ссылки) – если равно 1 или вообще не указано, то функция возвратит абсолютный адрес ($A$1). Чтобы получить относительный адрес (A1), используйте значение 4. Остальные варианты: 2=A$1, 3=$A1.
- a1 – если TRUE (ИСТИНА) или вообще не указано, функция возвращает ссылку в стиле A1, если FALSE (ЛОЖЬ), то в стиле R1C1.
- sheet_text (имя_листа) – имя листа может быть указано, если Вы желаете видеть его в возвращаемом функцией результате.
Ловушки ADDRESS (АДРЕС)
Функция ADDRESS (АДРЕС) возвращает лишь адрес ячейки в виде текстовой строки. Если Вам нужно значение ячейки, используйте её в качестве аргумента функции INDIRECT (ДВССЫЛ) или примените одну из альтернативных формул, показанных в примере 2.
Пример 1: Получаем адрес ячейки по номеру строки и столбца
При помощи функции ADDRESS (АДРЕС) Вы можете получить адрес ячейки в виде текста, используя номер строки и столбца. Если Вы введёте только эти два аргумента, результатом будет абсолютный адрес, записанный в стиле ссылок A1.
Абсолютная или относительная
Если не указывать значение аргумента abs_num (тип_ссылки) в формуле, то результатом будет абсолютная ссылка.
Чтобы увидеть адрес в виде относительной ссылки, можно подставить в качестве аргумента abs_num (тип_ссылки) значение 4.
A1 или R1C1
Чтобы задать стиль ссылок R1C1, вместо принятого по умолчанию стиля A1, Вы должны указать значение FALSE (ЛОЖЬ) для аргумента а1.
Название листа
Последний аргумент – это имя листа. Если Вам необходимо это имя в полученном результате, укажите его в качестве аргумента sheet_text (имя_листа).
Пример 2: Находим значение ячейки, используя номер строки и столбца
Функция ADDRESS (АДРЕС) возвращает адрес ячейки в виде текста, а не как действующую ссылку. Если Вам нужно получить значение ячейки, можно использовать результат, возвращаемый функцией ADDRESS (АДРЕС), как аргумент для INDIRECT (ДВССЫЛ). Мы изучим функцию INDIRECT (ДВССЫЛ) позже в рамках марафона 30 функций Excel за 30 дней.
Функция INDIRECT (ДВССЫЛ) может работать и без функции ADDRESS (АДРЕС). Вот как можно, используя оператор конкатенации “&“, слепить нужный адрес в стиле R1C1 и в результате получить значение ячейки:
Функция INDEX (ИНДЕКС) также может вернуть значение ячейки, если указан номер строки и столбца:
1:5000 – это первые 5000 строк листа Excel.
Пример 3: Возвращаем адрес ячейки с максимальным значением
В этом примере мы найдём ячейку с максимальным значением и используем функцию ADDRESS (АДРЕС), чтобы получить её адрес.
Функция MAX (МАКС) находит максимальное число в столбце C.
Далее в игру вступает функция ADDRESS (АДРЕС) в сочетании с MATCH (ПОИСКПОЗ), которая находит номер строки, и COLUMN (СТОЛБЕЦ), которая определяет номер столбца.
Примеры функции АДРЕС для получения адреса ячейки листа Excel
Функция АДРЕС возвращает адрес определенной ячейки (текстовое значение), на которую указывают номера столбца и строки. К примеру, в результате выполнения функции =АДРЕС(5;7) будет выведено значение $G$5.
Примечание: наличие символов «$» в адресе ячейки $G$5 свидетельствует о том, что ссылка на данную ячейку является абсолютной, то есть не меняется при копировании данных.
Функция АДРЕС в Excel: описание особенностей синтаксиса
Функция АДРЕС имеет следующую синтаксическую запись:
Первые два аргумента данной функции являются обязательными для заполнения.
- Номер_строки – числовое значение, соответствующее номеру строки, в которой находится требуемая ячейка;
- Номер_столбца – числовое значение, которое соответствует номеру столбца, в котором расположена искомая ячейка;
- [тип_ссылки] – число из диапазона от 1 до 4, соответствующее одному из типов возвращаемой ссылки на ячейку:
- абсолютная на всю ячейку, например — $A$4
- абсолютная только на строку, например — A$4;
- абсолютная только на столбец, например — $A4;
- относительная на всю ячейку, например A4.
- [a1] – логическое значение, определяющее один из двух типов ссылок: A1 либо R1C1;
- [имя_листа] – текстовое значение, которое определяет имя листа в документе Excel. Используется для создания внешних ссылок.
- Ссылки типа R1C1 используются для цифрового обозначения столбцов и строк. Для возвращения ссылок такого типа в качестве параметра a1 должно быть явно указано логическое значение ЛОЖЬ или соответствующее числовое значение 0.
- Стиль ссылок в Excel может быть изменен путем установки/снятия флажка пункта меню «Стиль ссылок R1C1», который находится в «Файл – Параметры – Формулы – Работа с Формулами».
- Если требуется ссылка на ячейку, которая находится в другом листе данного документа Excel, полезно использовать параметр [имя_листа], который принимает текстовое значение, соответствующее названию требуемого листа, например «Лист7».
Примеры использования функции АДРЕС в Excel
Пример 1. В таблице Excel содержится ячейка, отображающая динамически изменяемые данные в зависимости от определенных условий. Для работы с актуальными данными в таблице, которая находится на другом листе документа требуется получить ссылку на данную ячейку.
На листе «Курсы» создана таблица с актуальными курсами валют:
На отдельном листе «Цены» создана таблица с товарами, отображающая стоимость в долларах США (USD):
В ячейку D3 поместим ссылку на ячейку таблицы, находящейся на листе «Курсы», в которой содержится информация о курсе валюты USD. Для этого введем следующую формулу: =АДРЕС(3;2;1;1;»Курсы»).
- 3 – номер строки, в которой содержится искомая ячейка;
- 2 – номер столбца с искомой ячейкой;
- 1 – тип ссылки – абсолютная;
- 1 – выбор стиля ссылок с буквенно-цифровой записью;
- «Курсы» — название листа, на котором находится таблица с искомой ячейкой.
Для расчета стоимости в рублях используем формулу: =B3*ДВССЫЛ(D3).
Функция ДВССЫЛ необходима для получения числового значения, хранимого в ячейке, на которую указывает ссылка. В результате вычислений для остальных товаров получим следующую таблицу:
Как получить адрес ссылки на ячейку Excel?
Пример 2. В таблице содержатся данные о цене товаров, отсортированные в порядке возрастания стоимости. Необходимо получить ссылки на ячейки с минимальной и максимальной стоимостью товаров соответственно.
Исходная таблица имеет следующий вид:
Для получения ссылки на ячейку с минимальной стоимостью товара используем формулу:
Функция АДРЕС принимает следующие параметры:
- число, соответствующее номеру строки с минимальным значением цены (функция МИН выполняет поиск минимального значения и возвращает его, функция ПОИСКПОЗ находит позицию ячейки, содержащей минимальное значение цены. К полученному значению добавлено 2, поскольку ПОИСКПОЗ осуществляет поиск относительно диапазона выбранных ячеек.
- 2 – номер столбца, в котором находится искомая ячейка.
Аналогичным способом получаем ссылку на ячейку с максимальной ценой товара. В результате получим:
Адрес по номерам строк и столбцов листа Excel в стиле R1C1
Пример 3. В таблице содержится ячейка, данные из которой используются в другом программном продукте. Для обеспечения совместимости необходимо предоставить ссылку на нее в виде R1C1.
Исходная таблица имеет следующий вид:
Исходная таблица.» src=»https://exceltable.com/funkcii-excel/images/funkcii-excel78-9.png» class=»screen»>
Для получения ссылки на ячейку B6 используем следующую формулу: =АДРЕС(6;2;1;0).
- 6 – номер строки искомой ячейки;
- 2 – номер столбца, в котором содержится ячейка;
- 1 – тип ссылки (абсолютная);
- 0 – указание на стиль R1C1.
В результате получим ссылку:
Примечание: при использовании стиля R1C1 запись абсолютной ссылки не содержит знака «$». Чтобы отличать абсолютные и относительные ссылки используются квадратные скобки «[]». Например, если в данном примере в качестве параметра тип_ссылки указать число 4, ссылка на ячейку примет следующий вид:
Так выглядит абсолютный тип ссылок по строкам и столбцам при использовании стиля R1C1.