Как из 3 ячеек сделать одну

Как из 3 ячеек сделать одну

Как из 3 ячеек сделать одну

Как из 3 ячеек сделать одну

Как из 3 ячеек сделать одну

"У меня в Excel, в заголовках столбцов листа появились цифры (1,2,3…) вместо обычных букв (A,B,C…)! Все формулы превратились в непонятную кашу с буквами R и С! Что делать??? Помогите!"

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

Что это

Классическая и всем известная система адресации к ячейкам листа в Excel представляет собой сочетание буквы столбца и номера строки - морской бой или шахматы используют ту же идею для обозначения клеток доски. Третья сверху во втором столбце ячейка, например, будет иметь адрес B3. Иногда такой стиль ссылок еще называют "стилем А1". В формулах адреса могут использоваться с разным типом ссылок: относительными (просто B3), абсолютными ($B) и смешанного закрепления ($B3 или B). Если с долларами в формулах не очень понятно, то очень советую  про разные типы ссылок, прежде чем продолжать.

Однако же, существует еще и альтернативная малоизвестная система адресации, называемая "стилем R1C1". В этой системе и строки и столбцы обозначаются цифрами. Адрес ячейки B3 в такой системе будет выглядеть как R3C2 (R=row=строка, C=column=столбец). Относительные, абсолютные и смешанные ссылки в такой системе можно реализовать при помощи конструкций типа:

  • RC - относительная ссылка на текущую ячейку
  • R2C2 - то же самое, что $B (абсолютная ссылка)
  • RC5 - ссылка на ячейку из пятого столбца в текущей строке
  • RC[-1] - ссылка на ячейку из предыдущего столбца в текущей строке
  • RC[2] - ссылка на ячейку, отстоящую на два столбца правее в той же строке
  • R[2]C[-3] - ссылка на ячейку, отстоящую на две строки ниже и на три столбца левее от текущей ячейки
  • R5C[-2] - ссылка на ячейку из пятой строки, отстоящую на два столбца левее текущей ячейки
  • и т.д.

Ничего суперсложного, просто слегка необычно.

Как это включить/отключить

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

В Excel 2007/2010: кнопка Офис (Файл) - Параметры Excel - Формулы - Стиль ссылок R1C1 (File - Excel Options - Formulas - R1C1-style)

r1c1_1.gif

В Excel 2003 и старше: Сервис - Параметры - Общие - Стиль ссылок R1C1 (Tools - Options - General - R1C1-style)

r1c1_2.gif

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

Sub ChangeRefStyle() If Application.ReferenceStyle = xlA1 Then Application.ReferenceStyle = xlR1C1 Else Application.ReferenceStyle = xlA1 End If End Sub

Можно сохранить его в личную книгу макросов и повесить на кнопку на панели инструментов или на сочетание клавиш ().

Где это может быть полезно

А вот это правильный вопрос. Если звезды зажигают, то это кому-нибудь нужно. Есть несколько ситуаций, когда режим ссылок R1C1 удобнее, чем классический режим А1:

  • При проверке формул и поиске ошибок в таблицах иногда гораздо удобнее использовать режим ссылок R1C1, потому что в нем однотипные формулы выглядят не просто похоже, а абсолютно одинаково. Сравните, например, одну и ту же таблицу в режиме отладки формул (CTRL+) в двух вариантах адресации:
r1c1_3.gif         r1c1_4.gif  
Найти ошибку в режиме R1C1 намного проще, правда?
  • Если большая таблица с данными на вашем листе начинает занимать уже по нескольку сотен строк по ширине и высоте, то толку от адреса ячейки типа BT235 в формуле немного. Видеть номер столбца в такой ситуации может быть гораздо полезнее, чем его же буквы.
  • Некоторые функции Excel, например ДВССЫЛ (INDIRECT) могут работать в двух режимах - A1 или R1C1. И иногда оказывается удобнее использовать второй.
  • В коде макросов на VBA часто гораздо проще использовать стиль R1C1 для ввода формул в ячейки, чем классический A1. Так, например, если нам надо сложить два столбца чисел по десять ячеек в каждом (A1:A10 и B1:B10,) то мы могли бы использовать в макросе простой код:
Range("C1:C10").FormulaR1C1="=RC[-2]RC[-1]"

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

For Each cell In Range("C1:C10") cell.Formula = "=" & cell.Offset(0, -2).Address & "" & cell.Offset(0, -1).Address Next cell

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

  


Источник: http://www.planetaexcel.ru/techniques/11/113/


Как из 3 ячеек сделать одну

Как из 3 ячеек сделать одну

Как из 3 ячеек сделать одну

Как из 3 ячеек сделать одну

Как из 3 ячеек сделать одну

Как из 3 ячеек сделать одну

Как из 3 ячеек сделать одну

Как из 3 ячеек сделать одну