Зачем нужен стиль ссылок R1C1
Этот вопрос я слышу почти на каждом тренинге, да и на нашем форуме он всплывает с завидной периодичностью. Давайте, наконец, разберемся — что же это за хитрый режим ссылок, как с ним бороться и для чего он, собственно говоря, вообще предназначен.
Что это
Однако же, существует еще и альтернативная малоизвестная система адресации, называемая «стилем R1C1». В этой системе и строки и столбцы обозначаются цифрами. Адрес ячейки B3 в такой системе будет выглядеть как R3 C2 (R=row=строка, C=column=столбец). Относительные, абсолютные и смешанные ссылки в такой системе можно реализовать при помощи конструкций типа:
- R C — относительная ссылка на текущую ячейку
- R2 C2 — то же самое, что $B$2 (абсолютная ссылка)
- R C5 — ссылка на ячейку из пятого столбца в текущей строке
- R C[-1] — ссылка на ячейку из предыдущего столбца в текущей строке
- R C[2] — ссылка на ячейку, отстоящую на два столбца правее в той же строке
- R[2] C[-3] — ссылка на ячейку, отстоящую на две строки ниже и на три столбца левее от текущей ячейки
- R5 C[-2] — ссылка на ячейку из пятой строки, отстоящую на два столбца левее текущей ячейки
- и т.д.
Как это включить/отключить
Мало кто использует этот режим осознанно. Обычно он случайно включается сам, например, при открытии кривых выгрузок из 1С в Excel и в некоторых других ситуациях. Отключить его совсем несложно. Самый простой путь:
Если вам приходится делать это часто, то имеет смысл создать простой макрос, переключающий эти два режима туда-обратно:
Можно сохранить его в личную книгу макросов и повесить на кнопку на панели инструментов или на сочетание клавиш (как это сделать описано тут).
Где это может быть полезно
А вот это правильный вопрос. Если звезды зажигают, то это кому-нибудь нужно. Есть несколько ситуаций, когда режим ссылок R1C1 удобнее, чем классический режим А1:
- При проверке формул и поиске ошибок в таблицах иногда гораздо удобнее использовать режим ссылок R1C1, потому что в нем однотипные формулы выглядят не просто похоже, а абсолютно одинаково. Сравните, например, одну и ту же таблицу в режиме отладки формул (CTRL+~) в двух вариантах адресации:
- Если большая таблица с данными на вашем листе начинает занимать уже по нескольку сотен строк по ширине и высоте, то толку от адреса ячейки типа BT235 в формуле немного. Видеть номер столбца в такой ситуации может быть гораздо полезнее, чем его же буквы.
- Некоторые функции Excel, например ДВССЫЛ (INDIRECT) могут работать в двух режимах — A1 или R1C1. И иногда оказывается удобнее использовать второй.
- В коде макросов на VBA часто гораздо проще использовать стиль R1C1 для ввода формул в ячейки, чем классический A1. Так, например, если нам надо сложить два столбца чисел по десять ячеек в каждом (A1:A10 и B1:B10,) то мы могли бы использовать в макросе простой код:
т.к. в режиме R1C1 все формулы будут одинаковые. В классическом же представлении в ячейках столбца С все формулы разные, и нам пришлось бы писать код циклического прохода по каждой ячейке, чтобы определить для нее формулу персонально, т.е. что-то типа:
Ссылки по теме
Спасибо за разъяснение. Всегда больше всего интересовал вопрос «почему». На мелких таблицах RC режим бесил, на крупных стал более понятен, но все на уровне интуиции.
Можно ли используя стиль ячеек «R1C1» сделать так, чтобы ссылка велась не на конкретное количество строк/столбцов назад/вперед, а на изменяемое число строк/столбцов назад/вперед.
Условно:
Не RC[1], а RC[-i] где i = значение из другой ячейки.
Какой синтаксис необходимо применять для написания подобной «изменяемой ссылки»?.
Для такого можно использовать функцию СМЕЩ (OFFSET) — она выдает ссылку на диапазон, сдвинутый относительно исходного на определенное число строк и столбцов.
Например =СМЕЩ(A1;3;2) даст ссылку на B3
Огромное спасибо. Сегодня открыла свои файлы и оказалось, что все формулы превратились в эту самую «кашу». Вспомнила, что на planetaexcel.ru читала про этот режим excel, без проблем нашла эту статью и все исправила. Не в первый раз вы меня так выручаете. Еще раз огромное спасибо.
Не за что! Будем стараться и дальше
Спасибо. Разъяснили!
Почему «каша»? Лично я предпочитаю работать и программировать в Excel (кстати, 2003) именно в стиле «R1C1». Считаю, очень удобно, наглядно, логично и «математично». «AE:8» или (8,31), «BB:12» или (12,54) — что понятнее и естественнее? «R1C1» — это же Декартова система координат (Y,X) в школьном учебнике!
Old school
Для именно программирования он, кстати, однозначно удобнее, абсолютно согласен.
Недавно открыл для себя ещё одну мега удобную вещь,которую можно сделать только с этим стилем. На сайте вроде не встречал, так что поделюсь с читателями, может кому пригодится.
Надеюсь, понятно объяснил. Пока писал, понял, что можно подобную вещь и без этого стиля ссылок сделать, но всё равно не так красиво получится.
Точность округления как на экране в Microsoft Excel. Оптимизируем работу с группой файлов Excel
Многие пользователи Excel полагают, что единственный способ выделить диапазон ячеек — обвести нужный участок с помощью мыши. Действительно, такое выделение — один из вариантов, но обычно он не самый эффективный. Гораздо лучше выделять диапазоны с помощью клавиатуры. [1]
Координатное выделение
У вас большой монитор, но таблицы, с которыми вы работаете — еще больше. И, пробегая взглядом по экрану в поисках нужной информации, всегда есть шанс «соскользнуть» взглядом на соседнюю строчку и посмотреть не туда. Я даже знаю людей, который для таких случаев постоянно держат недалеко от себя деревянную линейку, чтобы приложить ее к строке на мониторе. Технологии будущего!
А если при движении активной ячейки по листу будет подсвечиваться текущая строка и столбец? Своего рода координатное выделение примерно такого вида:
Есть несколько способов разной сложности, чтобы реализовать такое. Каждый способ — со своими плюсами и минусами. Давайте разберем их детально.
Способ 1. Очевидный. Макрос, выделяющий текущую строку и столбец
Откройте лист со таблицей, в которой хотите получить такое координатное выделение. Щелкните правой кнопкой мыши по ярлычку листа и выберите в контекстном меню команду Исходный текст (Source Code). Должно открыться окно редактора Visual Basic. Скопируйте в него этот текст этих трех макросов:
Измените адрес рабочего диапазона на свой — именно в пределах этого диапазона и будет работать наше выделение. Затем закройте редактор Visual Basic и вернитесь в Excel.
Нажмите сочетание клавиш ALT+F8, чтобы открыть окно со списком доступных макросов. Макрос Selection_On, как нетрудно догадаться, включает координатное выделение на текущем листе, а макрос Selection_Off — выключает его. В этом же окне, нажав кнопку Параметры (Options) можно назначить этим макросам сочетания клавиш для удобного запуска.
- такое выделение некорректно работает в том случае, если на листе есть объединенные ячейки — выделяются сразу все строки и столбцы, входящие в объединение
- если случайно нажать клавишу Delete, то очистится не только активная ячейка, а вся выделенная область, т.е. удалятся данные из всей строки и столбца
Способ 2. Оригинальный. Функция ЯЧЕЙКА + Условное форматирование
Этот способ хотя и имеет пару недостатков, мне представляется весьма изящным. Реализовать что-либо, используя только встроенные средства Excel, минимально влезая в программирование на VBA — высший пилотаж
Способ основан на использовании функции ЯЧЕЙКА (CELL), которая может выдавать массу различной информации по заданной ячейке — высоту, ширину, номер строки-столбца, числовой формат и т.д.. Эта функция имеет два аргумента:
Хитрость в том, что второй аргумент не является обязательным. Если он не указан, то берется текущая активная ячейка.
Вторая составляющая этого способа — условное форматирование. Эта крайне полезная функция Excel позволяет автоматически форматировать ячейки, если они удовлетворяют заданным условиям. Если соединить эти две идеи в одно целое, то получим следующий алгоритм реализации нашего координатного выделения через условное форматирование:
Теперь при изменении выделения будет запускаться процесс пересчета формулы с функцией ЯЧЕЙКА в условном форматировании и заливаться текущая строка и столбец.
- Условное форматирование не нарушает пользовательское форматирование таблицы
- Этот вариант выделения корректно работает с объединенными ячейками.
- Нет риска удалить целую строку и столбец с данными при случайном нажатии Delete.
- Макросы используются минимально
Способ 3. Оптимальный. Условное форматирование + макросы
Золотая середина. Используем механизм отслеживания выделения на листе при помощи макросов из способа-1 и добавим к нему безопасное выделение цветом с помощью условного форматирования из способа-2.
Откройте лист со таблицей, в которой хотите получить такое координатное выделение. Щелкните правой кнопкой мыши по ярлычку листа и выберите в контекстном меню команду Исходный текст (Source Code). Должно открыться окно редактора Visual Basic. Скопируйте в него этот текст этих трех макросов:
Не забудьте изменить адрес рабочего диапазона на адрес своей таблицы. Закройте редактор Visual Basic и вернитесь в Excel. Чтобы использовать добавленные макросы, нажмите сочетание клавиш ALT+F8 и действуйте аналогично способу 1.
Способ 4. Красивый. Надстройка FollowCellPointer
Красивое решение. Не без глюков местами, но попробовать точно стоит. Качаем архив, распаковываем на диск и устанавливаем надстройку:
[expert_bq id=»1570″]Если значение ссылается на пустую ячейку или диапазон, функция возвращает логическое значение ИСТИНА, в противном случае ЛОЖЬ. Если же вы хотите что-то уточнить, обращайтесь ко мне![/expert_bq] На схеме видно, что при выполнении условия число увеличивается на десять, и в формуле Excel записывается расчетное выражение А1+10 (выделено зеленым цветом). В противном случае число не меняется, и здесь расчетное выражение состоит только из обозначения самого числа А1 (выделено красным цветом).Блокировка прокрутки в Excel.
- При проверке формул и поиске ошибок в таблицах иногда гораздо удобнее использовать режим ссылок R1C1, потому что в нем однотипные формулы выглядят не просто похоже, а абсолютно одинаково. Сравните, например, одну и ту же таблицу в режиме отладки формул (CTRL+~) в двух вариантах адресации:
Устанавливаем курсор в ячейку G2 и вводим знак “=”. Для Excel это означает, что сейчас будет введена формула. Поэтому как только далее будет нажата буква “е”, мы получим предложение выбрать функцию, начинающуюся этой буквы. Выбираем “ЕСЛИ”.
Фиксация ячейки в Microsoft Excel
Как зафиксировать строки и столбцы в Excel, сделать их неподвижными при прокрутке
Варианты
Иногда нам приходится работать с большими массивами данных, а постоянно прокручивать экран вверх и вниз, влево и вправо, чтобы посмотреть названия позиций или какие-то значения параметров, неудобно и долго. Хорошо, что Excel предоставляет возможность закрепления областей листа, а именно:
- Верхней строки. Такая необходимость часто возникает, когда у нас много показателей и они все отражены в верхней части таблицы, в шапке. Тогда при прокрутке вниз мы просто начинаем путаться, в каком поле что находится.
- Первого столбца. Тут ситуация аналогичная, и наша задача упростить себе доступ к показателям.
- Произвольной области в верхней и левой частях. Такая опция значительно расширяет наши возможности. Мы можем зафиксировать не только заголовок таблицы, но и любые ее части, чтобы сделать сверку, корректно перенести данные или поработать с формулами.
Фиксируем верхнюю строку
Чтобы сделать неподвижным заголовок, ставим курсор в любую ячейку и идем во вкладку “Вид” основного меню программы.
Находим опцию “Закрепить области” и выбираем нужный вариант из выпавшего списка. После этого вверху появится серая полоса прокрутки. Теперь можно просматривать данные и всегда видеть самую верхнюю часть массива.
Примечание: если у вас старая версия табличного редактора, то в ней может не быть такой функции. Тогда фиксирование ячеек происходит через пункт меню “Окно”. Регулировать область можно только курсором мыши.
В моей таблице результат выглядит не очень красиво, потому что описание параметров содержится не в одной, а в двух первых строчках. В итоге текст обрезается. Что делать в такой ситуации, я расскажу дальше.
Закрепление первого столбца
Точно так же, как шапку массива, можно закрепить первый столбец. Идем во вкладку “Вид”, выбираем нужное действие на панели инструментов и фиксируем левую часть таблицы.
Фиксируем произвольную область
Если вы попробуете одновременно закрепить первую строчку и столбик, то увидите, что ничего не получается. Работает только одна из опций. Но есть решение и у этой задачи.
Например, мы хотим сделать так, чтобы при прокрутке не двигались 2 верхние полосы и 2 столбика в левой части таблицы. Тогда нам надо поставить курсор в клетку, которая находится под пересечением этих линий. То есть в нашем примере это поле с координатами “C3”.
Затем идем во вкладку “Вид” и выбираем нужное действие.
При помощи той же процедуры можно “обездвижить” несколько строчек. Для этого нужно поместить курсор в поле под ними в первом столбике.
Второй способ – выделить целую строку под нужной нам областью. Такой подход работает и с диапазоном столбцов.
Как снять закрепление
Отменить “неподвижность” очень просто. В том же блоке задач во вкладке “Вид” выбираем соответствующее действие. При этом неважно, в каком месте массива находится курсор.
Как закрепить ячейки в Google Таблицах
В онлайн-редакторе также есть возможность зафиксировать отдельные диапазоны ячеек, и находится эта опция в том же пункте меню.
Тут можно “обездвижить” первые 1 или 2 строчки и 1 или 2 столбика, для этого есть отдельные действия.
Отличие от табличного редактора Microsoft заключается в возможности поочередно закреплять линии по вертикали и горизонтали. То есть это как бы 2 независимые опции. При этом выбрать можно любой диапазон до текущей клетки.
На мой взгляд, работать с закреплением в Google Таблицах даже проще, чем в Excel. А вы как считаете?
Заключение
Мы с вами разобрали все способы фиксации ячеек, чтобы при прокрутке экрана они не двигались с места. Надеюсь, у вас все получилось. А если остались вопросы, и не вышло решить задачу, опишите проблему в комментариях, и я постараюсь помочь.
Сохраняйте статью в закладки, чтобы вернуться к ней, когда снова возникнет необходимость создать сквозные строки или столбцы.
Мы готовим для вас новые полезные материалы по работе с программами и сервисами. Подписывайтесь на новости, чтобы не пропустить выход статей.
Как закрепить строку и столбец в Excel при прокрутке
Программа Microsoft Excel создана таким образом, чтобы было удобно не только вносить данные в таблицу, редактировать их в соответствии с заданным условием, но и просматривать большие по объему блоки информации.
Наименования столбцов и строк могут быть значительно удалены от ячеек, с которыми пользователь работает в этот момент. И все время прокручивать страницу, чтобы увидеть название, некомфортно. Поэтому в табличном процессоре имеется возможность закрепления областей.
Как закрепить строку в Excel при прокрутке
В таблице, как правило, шапка одна. А строк может быть от нескольких десятков до нескольких тысяч. Работать с многостраничными табличными блоками неудобно, когда названия столбцов не видны. Все время прокручивать к началу, потом возвращаться к нужной ячейке – нерационально.
Чтобы шапка была видна при прокрутке, закрепим верхнюю строку таблицы Excel:
Под верхней строкой появляется отграничивающая линия. Теперь при вертикальной прокрутке листа шапка таблицы будет всегда видна:
Предположим, пользователю нужно зафиксировать не только шапку. Еще одна или пару строк должны быть неподвижны при прокрутке листа.
При горизонтальной и вертикальной прокрутке остаются неподвижными шапка и верхняя строка таблицы. Таким же образом можно зафиксировать две, три, четыре и т.д. строки.
Примечание. Данный способ закрепления строк актуален для Excel версий 2007 и 2010. В более ранних версиях (2003 и 2000) инструмент «Закрепить области» находится в меню «Окно» на главной странице. И там нужно ВСЕГДА активизировать ячейку ПОД фиксируемой строкой.
Как закрепить столбец в Excel
Допустим, информация в таблице имеет горизонтальное направление: сосредоточена не в столбцах, а в строках. Для удобства пользователю нужно при горизонтальной прокрутке зафиксировать первый столбец, в котором содержатся названия строк.
- Выделяем любую ячейку нужной таблицы, чтобы Excel понимал, с какими данными ему работать. В выпадающем меню инструмента выбираем значение «Закрепить первый столбец».
- Теперь при горизонтальной прокрутке листа вправо зафиксированный столбец будет неподвижен.
Чтобы зафиксировать несколько столбцов, необходимо выделить ячейку в САМОМ НИЗУ таблицы СПРАВА от фиксируемого столбца. И нажать кнопку «Закрепить области».
Как закрепить строку и столбец одновременно
Задача: при прокрутке зафиксировать выделенную область, которая содержит два столбца и две строки.
Делаем активной ячейку на пересечение фиксируемых строк и столбцов. Но не в самой закрепляемой области. Она должна быть сразу под нужными строками и справа от нужных столбцов.
В выпадающем меню инструмента «Закрепить области» выбираем первую опцию.
На рисунке видно, что при прокрутке выделенные области остаются на месте.
Как убрать закрепленную область в Excel
После фиксации строки или столбца таблицы в меню «Закрепить области» становится доступной кнопка «Снять закрепление областей».
После нажатия все зафиксированные области рабочего листа разблокируются.
Примечание. Кнопка «Снять закрепление областей» Excel 2003 и 2000 находится в меню «Окно». Если кнопки инструментов часто используются, можно добавить их на панель быстрого доступа. Для этого щелкаем правой кнопкой мыши и выбираем предложенный вариант.
Выбор редакции
Календарь релизов на декабрь.
Суперспойлер 7. «Войны миров.
Советская кино викторина.
Закрепление ячеек в Excel
По мере увеличения таблицы ее «шапку» (ФИО, должность место жительства) уже не будет видно, и это может внести некоторые трудности в процесс заполнения. Чтобы этого избежать, закрепим «шапку» нашей таблицы. Сделать это достаточно просто: в меню Office перейдите на вкладку Вид и нажмите на кнопку Закрепить области (рис.2).
Здесь нам предлагается выбор: закрепить произвольную область, первую строку или первый столбец. Т.к. в нашем случае «шапка» таблицы занимает 1 строку, мы выбираем вариант Закрепить верхнюю строку. Теперь, какой бы длинной не стала таблица, первая строка все время будет видна, что поможет избежать ошибок при заполнении.
Снять закрепление выделенной области тоже очень просто. Для этого еще раз нажмите на кнопку Закрепить области и выберите пункт Снять закрепление областей (рис.3).
С первой строкой и столбцом все понятно. Но возникает вопрос: как закрепить произвольную область? Например, мы хотим, чтобы графы с отпусками администрации (5 сотрудников), все время были видны. Сделать это тоже несложно. Сначала нужно определить границы закрепляемой области (рис.4).
Теперь нужно выбрать область для закрепления и определить последнюю ячейку. В нашем случае последней ячейкой будет F5, т.к. в таблице последняя строка 5 и последний столбец F.
Теперь курсор нужно сместить по диагонали на одну строку и один столбец вниз. И поставить его в эту ячейку. В нашем случае это будет ячейка G6. Теперь, как мы уже делали раньше, нужно на вкладке Вид нажать на кнопку Закрепить области и выбрать пункт Выделенные строки и столбцы.
Все готово. Теперь при прокрутке таблицы область до ячейки F5 всегда будет видимой. Чтобы снять выделение области, как обычно, перейдите на вкладку Вид, нажмите на кнопку Закрепление ячеек и выберите пункт Снять закрепление областей.
Если у Вас остались вопросы, задайте их на нашем форуме.
Простой способ зафиксировать значение в формуле Excel
Итак, рассмотрим более детально все варианты как закрепляется ячейка. Есть три варианта фиксации:
Полная фиксация ячейки
Фиксация формулы в Excel по вертикали
Частичная фиксация по вертикали (пример $A1), это закрепления только столбцов, возможность сдвига формулы частично сохраняется, но только по горизонтали (в строке). Как видно со скриншота или скачанного вами файла с примером.
Фиксация формул по горизонтали
А на этом у меня всё! Я очень надеюсь, что вы поняли все варианты как возможно зафиксировать ячейку в формуле. Буду очень благодарен за оставленные комментарии, так как это показатель читаемости и вдохновляет на написание новых статей! Делитесь с друзьями прочитанным и ставьте лайк!
Деньги — нерв войны.
Марк Туллий Цицерон
В excel стрелки двигают лист — Новости из мира ПК
- такое выделение некорректно работает в том случае, если на листе есть объединенные ячейки — выделяются сразу все строки и столбцы, входящие в объединение
- если случайно нажать клавишу Delete, то очистится не только активная ячейка, а вся выделенная область, т.е. удалятся данные из всей строки и столбца
В расчетной формуле адреса ячеек записаны в виде A$5, B$6, B$5. Знак доллара делает фиксированной часть адреса, перед которой он установлен, при копировании формулы. Здесь установлен запрет на изменение номера строки в адресе ячейки.