Формула имя столбца excel

 

Alxb82

Пользователь

Сообщений: 6
Регистрация: 13.10.2014

Здравствуйте. Подскажите пожалуйста, как, не используя VBS определить буквенное имя столбца ячейки.
Есть ли функция возвращающая это имя?
В любую ячейку (например B2) ввожу формулу с этой функцией и распространяю ее на несколько (пусть 3) соседние в строке ячейки.
Ожидаю результат сооветствующий заголовкам столбцов этих ячеек, т.е.:

Решено:
вариант1: =ПОДСТАВИТЬ(АДРЕС(СТРОКА();СТОЛБЕЦ();4);СТРОКА(); «» )
вариант2: =ПСТР(АДРЕС(СТРОКА();СТОЛБЕЦ();1);2;ПОИСК( «$» ;АДРЕС(СТРОКА();СТОЛБЕЦ();1);2)-2)

Изменено: Alxb8213.10.2014 19:56:07
(Решено)

 

The_Prist

Пользователь

Сообщений: 14183
Регистрация: 15.09.2012

Профессиональная разработка приложений для MS Office

Не уверен, что нужно Вам именно имя столбца — ни одна функция не просит его. Номер — да. А номер можно узнать функцией СТОЛБЕЦ()

Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы…

 

Pelena

Пользователь

Сообщений: 1416
Регистрация: 22.12.2012

#3

13.10.2014 15:20:42

Если всё же нужна буква, то

Код
=ЛЕВСИМВ(АДРЕС(СТРОКА();СТОЛБЕЦ();4))
 

Сергей

Пользователь

Сообщений: 11251
Регистрация: 01.01.1970

#4

13.10.2014 15:23:07

:D   дабы попадали все буквы типа АА

Код
=ПСТР(АДРЕС(СТРОКА();СТОЛБЕЦ();1);2;ПОИСК("$";АДРЕС(СТРОКА();СТОЛБЕЦ();1);2)-2) 

Лень двигатель прогресса, доказано!!!

 

Alxb82

Пользователь

Сообщений: 6
Регистрация: 13.10.2014

Задача несколько сложнее обстоит. Решаю ее разбив на множество мелких. Это одна из них.
В функцию ДВССЫЛ(ссылка) можно передать ссылку в виде текстовых координат, например: ячейка с формулой =ДВССЫЛ(«B»&»2») будет ссылать на ячейку B2. Так вот эту «B» мне и нужно узнать на одном из этапов.

Изменено: Alxb8213.10.2014 15:25:30

 

Alxb82

Пользователь

Сообщений: 6
Регистрация: 13.10.2014

Сергей, — точно, работает, то что нужно — сейчас буду разбираться как работает. Спасибо.
(дольше вопрос формулировал чем на него отвечали)

 

такую задачу решает другая формула =ДВССЫЛ(АДРЕС(2;2))
НЕ НУЖНО сначала искать букву второго столбца, если можно просто передать номер столбца в функцию АДРЕС с тем же успехом

 

Alxb82

Пользователь

Сообщений: 6
Регистрация: 13.10.2014

Все верно, но требуется ввести адрес не номером столбца а его именем. В любом случае придется переводить что-то во что-то. Например если нужно ввести текстом (не указать мышкой) столбец с именем «DU». Не считать же какой он там по счету.

 

The_Prist

Пользователь

Сообщений: 14183
Регистрация: 15.09.2012

Профессиональная разработка приложений для MS Office

#9

13.10.2014 15:43:14

Цитата
Alxb82 пишет: Не считать же какой он там по счету

Что мешает указать ссылку на эту ячейку в СТОЛБЕЦ() ?
СТОЛБЕЦ(DU1)

Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы…

 

Alxb82

Пользователь

Сообщений: 6
Регистрация: 13.10.2014

Мешает то, что я, на этапе «программирования» не знаю что это будет именно «DU». Это имя мне будет известно в процессе анализа заполненной таблицы. Я согласен что можно выкрутиться и этим способом (получить не имя а ссылку на ячейку) и в каком-то случае он будет оправдан, но в данный момент меня интересовало получить именно буквенное и только имя столбца. Спасибо.

Изменено: Alxb8213.10.2014 19:57:18

 

V

Пользователь

Сообщений: 5018
Регистрация: 22.12.2012

#11

13.10.2014 16:20:38

если озвучите всю задачу то возможно и ДВССЫЛ не понадобится. Хотя это уже другая тема.  ;)  
по теме такой вариант

Код
=ПОДСТАВИТЬ(АДРЕС(СТРОКА();СТОЛБЕЦ();4);СТРОКА();"") 
 

Alxb82

Пользователь

Сообщений: 6
Регистрация: 13.10.2014

#12

13.10.2014 19:18:07

Видимо, самое элегантное решение это:

Цитата
V пишет: =ПОДСТАВИТЬ(АДРЕС(СТРОКА();СТОЛБЕЦ();4);СТРОКА(); «» )

где из строки адреса «строкастолбец» просто удаляется «строка» и остается «столбец».
тем не менее:

Цитата
Сергей пишет: =ПСТР(АДРЕС(СТРОКА();СТОЛБЕЦ();1);2;ПОИСК( «$» ;АДРЕС(СТРОКА();СТОЛБЕЦ();1);2)-2)

тоже абсолютно рабочий вариант решения.
Всем спасибо за помощь.

How to get a column letter from a number in Excel using a simple formula.

This is an important thing to be able to do when working with complex formulas in Excel, especially the INDIRECT() function.

Sections:

Basic Formula — Works for A to Z

More Complex Formula — Works For All Columns

Notes

Basic Formula — Works for A to Z

The formula:

A1 is the cell that contains the number of column for which you want to get the letter.

Result:

You could also write this formula like this:

You just have to input the number for the column directly in the formula.

The CHAR() function gets a letter based on its number as defined by the character set of your computer; though, you don’t need to know that to use this function.

Using COLUMN()

If you are creating a dynamic formula, you might want to automatically figure out the letter of a specific column for use in another function, such as the INDIRECT() function.

In this case, you can use the COLUMN() function to get the number of either a specific column or the current column:

This would get the letter for the column for cell A1, which is A.

Remove the cell reference from the COLUMN() function and you will get the letter of the current column.

Result:

Remember though, this will only work for columns A to Z and, in some cases this might not work depending on the localized settings of the computer. The next example does not have these limitations.

More Complex Formula — Works For All Columns

This example is more versatile in that it works for all of the columns in Excel, but it is slightly more complex.

The formula:

=SUBSTITUTE(ADDRESS(1,A3,4),"1","")

A3 is the example cell here that contains the number of the column for which we want to get a letter(s).

Result:

This formula uses the SUBSTITUTE() and ADDRESS() functions to get the column letters. This is a neat little trick that allows you to get the letters for any column using only a number as the reference for it.

The ADDRESS() function gives us the address of a cell based on a column and row number and the SUBSTITUTE() function replaces the number part of the cell reference with nothing, which removes the number. If you want to see this in Excel, just split these two functions into their own cell and look at the results:

Using COLUMN()

(this is almost the same as the COLUMN() section above, just with the new formula)

If you are creating a dynamic formula, you might want to automatically figure out the letter of a specific column for use in another function, such as the INDIRECT() function.

In this case, you can use the COLUMN() function to get the number of either a specific column or the current column:

=SUBSTITUTE(ADDRESS(1,COLUMN(A3),4),"1","")

This will get the letter for the column for the cell reference A1, which is A.

You can also remove the cell reference from the COLUMN() function to get the letter(s) for the column in which the formula is currently placed.

=SUBSTITUTE(ADDRESS(1,COLUMN(),4),"1","")

This will return D because the formula is in column D.

These last couple examples might seem trivial, but they are very helpful when you are copying the formula to a cell and column that is unknown, as in you don’t know in which column the formula will be when it is used or copied.

Notes

This is a powerful thing to be able to do in Excel, get column letter(s) from their number. You won’t use this every day and it might not help basic Excel users but, for all of you who want or need to take Excel to the next level, save this tutorial, especially for the second formula, the one that uses the SUBSTITUTE() and ADDRESS() functions.

Make sure to download the attached workbook so you can work with these examples in Excel.

Similar Content on TeachExcel

Convert Month Name to Number and Vice Versa in Excel

Tutorial: How to convert a month’s name, such as January, into a number using a formula in Excel; al…

ROMAN() & ARABIC() Function in Excel

Tutorial:
Convert roman numerals to regular numbers (arabic) and also how to convert regular number…

5 Tips for Evaluating Complex Formulas in Excel

Tutorial:
5 simple tips to evaluate any complex formula in Excel!
These tips combine to give you th…

Activate or Navigate to a Worksheet using Macros VBA in Excel

Tutorial: Make a particular worksheet visible using a macro in Excel.
This is called activating a wo…

Return the Min or Max Value Using a Lookup in Excel — INDEX MATCH

Tutorial:
Find the Min or Max value in a range and, based on that, return a value from another rang…

Get the Day of the Week (1 to 7) for a Date in Excel — WEEKDAY

Tutorial: Use a function in Excel to get the number of the day in a week, from 1 to 7. 
This allow…

Subscribe for Weekly Tutorials

BONUS: subscribe now to download our Top Tutorials Ebook!

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

Прямая ссылка на ячейки

Имена таблицы и столбцов в Excel

=СУММ(C2:C7)

=СУММ(ОтделПродаж[ОбъемПродаж])

Это сочетание имен таблицы и столбца называется структурированной ссылкой. Имена в структурированных ссылках корректируются при добавлении данных в таблицу или их удалении.

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

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

Менеджер по продажам

Область

Сумма продаж

ПроцентКомиссии

ОбъемКомиссии

Владимир

Северный

260

10 %

Сергей

Южный

660

15 %

Мария

Восточный

940

15 %

Алексей

Западный

410

12 %

Юлия

Северный

800

15 %

Вадим

Южный

900

15 %

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

  2. Чтобы создать таблицу, выделите любую ячейку в диапазоне данных и нажмите клавиши CTRL+T.

  3. Установите флажок Моя таблица с заголовками и нажмите кнопку ОК.

  4. В ячейке E2 введите знак равенства (=) и щелкните ячейку C2.

    В строке формул после знака равенства появится структурированная ссылка [@[ОбъемПродаж]].

  5. Введите звездочку (*) непосредственно после закрывающей скобки и щелкните ячейку D2.

    В строке формул после звездочки появится структурированная ссылка [@[ПроцентКомиссии]].

  6. Нажмите клавишу ВВОД.

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

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

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

  1. В образце листа щелкните ячейку E2.

  2. В строке формул введите =C2*D2 и нажмите клавишу ВВОД.

Обратите внимание на то, что хотя Excel копирует формулу вниз по столбцу, структурированные ссылки не используются. Если, например, вы добавите столбец между столбцами C и D, вам придется исправлять формулу.

Как изменить имя таблицы?

При создании таблицы Excel ей назначается имя по умолчанию («Таблица1», «Таблица2» и т. д.), но его можно изменить, чтобы сделать более осмысленным.

  1. Выберите любую ячейку в таблице, чтобы отобразить вкладку Работа с таблицами > Конструктор на ленте.

  2. Введите нужное имя в поле Имя таблицы и нажмите клавишу ВВОД.

В этом примере мы используем имя ОтделПродаж.

При выборе имени таблицы соблюдайте такие правила:

  • Используйте допустимые символы.  Имя всегда должно начинаться с буквы, символа подчеркивания (_) или обратной косой черты (). Остальная часть имени может включать в себя буквы, цифры, точки и символы подчеркивания. В имени нельзя использовать латинские буквы C, c, R и r, так как они служат для быстрого выделения столбца или строки с активной ячейкой при вводе их в поле Имя или Перейти.

  • Не используйте ссылки на ячейки.  Имена не могут иметь такой же вид, как ссылки на ячейки, например Z$100 или R1C1.

  • Не используйте пробелы для разделения слов.  В имени нельзя использовать пробелы. Можно использовать символ подчеркивания (_) и точку (.). Примеры допустимых имен: ОтделПродаж, Налог_на_продажи, Первый.квартал.

  • Используйте не более 255 знаков. Имя таблицы может содержать не более 255 знаков.

  • Использование уникальных имен таблиц Повторяющиеся имена не допускаются. Excel не различает символы в верхнем и нижнем регистрах в именах, поэтому если вы введете «Продажи», но уже имеете другое имя «SALES» в той же книге, вам будет предложено выбрать уникальное имя.

  • Использование идентификатора объекта  Если вы планируете использовать сочетание таблиц, сводных таблиц и диаграмм, рекомендуется префиксировать имена с помощью типа объекта. Например, tbl_Sales для таблицы продаж, pt_Sales для сводной таблицы продаж и chrt_Sales для диаграммы продаж или ptchrt_Sales для сводной диаграммы продаж. При этом все имена будут храниться в упорядоченном списке в диспетчере имен.

Правила синтаксиса структурированных ссылок

Вы также можете ввести или изменить структурированные ссылки вручную в формуле, но это поможет понять синтаксис структурированных ссылок. Рассмотрим такую формулу:

=СУММ(ОтделПродаж[[#Итого],[ОбъемПродаж]],ОтделПродаж[[#Данные],[ОбъемКомиссии]])

В этой формуле используются указанные ниже компоненты структурированной ссылки.

  • Имя таблицы:   
    DeptSales — это пользовательское имя таблицы. Он ссылается на данные таблицы без каких-либо строк заголовка или итогов. Вы можете использовать имя таблицы по умолчанию, например Table1, или изменить его, чтобы использовать пользовательское имя.

  • Описатель столбцов:   
    [Сумма продаж]
    и
    [Сумма комиссии] — это описатели столбцов, которые используют имена столбцов, которые они представляют. Они ссылаются на данные столбца без заголовка столбца или строки итогов. Всегда заключайте описатели в квадратные скобки, как показано ниже.

  • Описатель элемента:   
    [#Totals] и [#Data] — это специальные описатели элементов, которые ссылаются на определенные части таблицы, например на строку итогового значения.

  • Табличный описатель:   
    [#Totals], [Сумма продаж]] и [[#Data],[Сумма комиссии]] являются табличными описателями, представляющими внешние части структурированной ссылки. Внешние ссылки следуют за именем таблицы и заключают их в квадратные скобки.

  • Структурированная ссылка:   
    (DeptSales[[#Totals],[Sales Amount]] и DeptSales[[#Data],[Commission Amount]] представляют собой структурированные ссылки, представленные строкой, которая начинается с имени таблицы и заканчивается описателем столбца.

При создании или изменении структурированных ссылок вручную учитывайте перечисленные ниже правила синтаксиса.

  • Заключайте указатели в квадратные скобки.    Все указатели таблиц, столбцов и специальных элементов должны быть заключены в парные скобки ([ ]). Указатель, содержащий другие указатели, требует наличия таких же внешних скобок, в которые будут заключены внутренние скобки других указателей. Например: =DeptSales[[Sales Person]:[Region]]

  • Все заголовки столбцов — это текстовые строки.    Но для них не требуются кавычки, если они используются в структурированной ссылке. Числа или даты, например 2014 или 01.01.2014, также считаются текстовыми строками. Нельзя использовать выражения с заголовками столбцов. Например, выражение ОтделПродажСводкаФГ[[2014]:[2012]] недопустимо.

Заключайте в квадратные скобки заголовки столбцов, содержащие специальные знаки.    Если присутствуют специальные знаки, весь заголовок столбца должен быть заключен в скобки, а это означает, что для указателя столбца потребуются двойные скобки. Пример: =ОтделПродажСводкаФГ[[Итого $]]

Дополнительные скобки в формуле нужны при наличии таких специальных знаков:

  • TAB

  • Канал строки

  • Возврат каретки

  • Запятая (,)

  • Двоеточие (:)

  • Точка (.)

  • Левая скобка ([)

  • Правая скобка (])

  • Знак фунта (#)

  • Одна кавычка (‘)

  • Двойная кавычка («)

  • Левая фигурная скобка ({)

  • Правая фигурная скобка (})

  • Знак доллара ($)

  • Caret (^)

  • Амперсанд (&)

  • Звездочка (*)

  • Знак «плюс» (+)

  • Знак равенства (=)

  • Знак минус (-)

  • Больше символа (>)

  • Меньше символа (<)

  • Знак деления (/)

  • При знаке (@)

  • Обратная косая черта ()

  • Восклицательный знак (!)

  • Левая скобка (()

  • Правая скобка ())

  • Знак процента (%)

  • Вопросительный знак (?)

  • Обратный тик (‘)

  • Точка с запятой (;)

  • Тильда (~)

  • Подчеркивание (_)

  • Используйте escape-символы для некоторых специальных знаков в заголовках столбцов.    Перед некоторыми знаками, имеющими специфическое значение, необходимо ставить одинарную кавычку (‘), которая служит escape-символом. Пример: =ОтделПродажСводкаФГ[‘#Элементов]

Ниже приведен список специальных символов, которым требуется escape-символ (‘) в формуле:

  • Левая скобка ([)

  • Правая скобка (])

  • Знак фунта(#)

  • Одна кавычка (‘)

  • При знаке (@)

Используйте пробелы для повышения удобочитаемости структурированных ссылок.    С помощью пробелов можно повысить удобочитаемость структурированной ссылки. Пример: =ОтделПродаж[ [Продавец]:[Регион] ] или =ОтделПродаж[[#Заголовки], [#Данные], [ПроцентКомиссии]].

Рекомендуется использовать один пробел:

  • После первой левой скобки ([)

  • Перед последней правой скобкой (]).

  • После запятой.

Операторы ссылок

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

Эта структурированная ссылка:

Ссылается на:

Используя:

Диапазон ячеек:

=ОтделПродаж[[Продавец]:[Регион]]

Все ячейки в двух или более смежных столбцах

: (двоеточие) — оператор ссылки

A2:B7

=ОтделПродаж[ОбъемПродаж],ОтделПродаж[ОбъемКомиссии]

Сочетание двух или более столбцов

, (запятая) — оператор объединения

C2:C7, E2:E7

=ОтделПродаж[[Продавец]:[ОбъемПродаж]] ОтделПродаж[[Регион]:[ПроцентКомиссии]]

Пересечение двух или более столбцов

  (пробел) — оператор пересечения

B2:C7

Указатели специальных элементов

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

Этот указатель специального элемента:

Ссылается на:

#Все

Вся таблица, включая заголовки столбцов, данные и итоги (если они есть).

#Данные

Только строки данных.

#Заголовки

Только строка заголовка.

#Итого

Только строка итога. Если ее нет, будет возвращено значение null.

#Эта строка

ИЛИ

@

ИЛИ

@[Имя столбца]

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

Excel автоматически заменяет указатели «#Эта строка» более короткими указателями @ в таблицах, содержащих больше одной строки данных. Но если в таблице только одна строка, Excel не заменяет указатель «#Эта строка», и это может привести к тому, что при добавлении строк вычисления будут возвращать непредвиденные результаты. Чтобы избежать таких проблем при вычислениях, добавьте в таблицу несколько строк, прежде чем использовать формулы со структурированными ссылками.

Определение структурированных ссылок в вычисляемых столбцах

Когда вы создаете вычисляемый столбец, для формулы часто используется структурированная ссылка. Она может быть неопределенной или полностью определенной. Например, чтобы создать вычисляемый столбец с именем Commission Amount, который вычисляет сумму комиссии в долларах, можно использовать следующие формулы:

Тип структурированной ссылки

Пример

Примечания

Неопределенная

=[ОбъемПродаж]*[ПроцентКомиссии]

Перемножает соответствующие значения из текущей строки.

Полностью определенная

=ОтделПродаж[ОбъемПродаж]*ОтделПродаж[ПроцентКомиссии]

Перемножает соответствующие значения из каждой строки обоих столбцов.

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

Примеры использования структурированных ссылок

Ниже приведены примеры использования структурированных ссылок.

Эта структурированная ссылка:

Ссылается на:

Диапазон ячеек:

=ОтделПродаж[[#Все],[ОбъемПродаж]]

Все ячейки в столбце «ОбъемПродаж».

C1:C8

=ОтделПродаж[[#Заголовки],[ПроцентКомиссии]]

Заголовок столбца «ПроцентКомиссии».

D1

=ОтделПродаж[[#Итого],[Регион]]

Итог столбца «Регион». Если нет строки итогов, будет возвращено значение ноль.

B8

=ОтделПродаж[[#Все],[ОбъемПродаж]:[ПроцентКомиссии]]

Все ячейки в столбцах «ОбъемПродаж» и «ПроцентКомиссии».

C1:D8

=ОтделПродаж[[#Данные],[ПроцентКомиссии]:[ОбъемКомиссии]]

Только данные в столбцах «ПроцентКомиссии» и «ОбъемКомиссии».

D2:E7

=ОтделПродаж[[#Заголовки],[Регион]:[ОбъемКомиссии]]

Только заголовки столбцов от «Регион» до «ОбъемКомиссии».

B1:E1

=ОтделПродаж[[#Итого],[ОбъемПродаж]:[ОбъемКомиссии]]

Итоги столбцов от «ОбъемПродаж» до «ОбъемКомиссии». Если нет строки итогов, будет возвращено значение null.

C8:E8

=ОтделПродаж[[#Заголовки],[#Данные],[ПроцентКомиссии]]

Только заголовок и данные столбца «ПроцентКомиссии».

D1:D7

=ОтделПродаж[[#Эта строка], [ОбъемКомиссии]]

ИЛИ

=ОтделПродаж[@ОбъемКомиссии]

Ячейка на пересечении текущей строки и столбца Commission Amount. При использовании в той же строке, что и заголовок или итоговая строка, возвращается ошибка #VALUE! .

Если ввести длинную форму этой структурированной ссылки (#Эта строка) в таблице с несколькими строками данных, Excel автоматически заменит ее укороченной формой (со знаком @). Две эти формы идентичны.

E5 (если текущая строка — 5)

Методы работы со структурированными ссылками

При работе со структурированными ссылками учитывайте следующее.

  • Автозаполнение формул    может оказаться очень полезным при вводе структурированных ссылок для соблюдения правил синтаксиса. Дополнительные сведения см. в статье Использование автозаполнения формул.

  • Решите, следует ли создавать структурированные ссылки для таблиц в полувыборах    По умолчанию при создании формулы при щелчке диапазона ячеек в таблице выбирается полуэлемерная ячейка и автоматически вводится структурированная ссылка вместо диапазона ячеек в формуле. Псевдовыбор облегчает ввод структурированной ссылки. Это поведение можно включить или отключить, установив или снимите флажок Использовать имена таблиц в формулах в диалоговом окне Параметры файлов > > Формулы > Работа с формулами.

  • Использование книг с внешними ссылками на таблицы Excel в других книгах    Если книга содержит внешнюю ссылку на таблицу Excel в другой книге, эта связанная исходная книга должна быть открыта в Excel, чтобы избежать ошибок #REF! в целевой книге, содержащей ссылки. Если сначала открыть целевую книгу и #REF! появятся ошибки, они будут устранены при открытии исходной книги. Если сначала открыть книгу с исходным кодом, коды ошибок не будут отображаться.

  • Преобразование диапазона в таблицу и таблицы в диапазон.    При преобразовании таблицы в диапазон все ссылки на ячейки изменяются на эквивалентные абсолютные ссылки стиля A1. При преобразовании диапазона в таблицу Excel не изменяет автоматически ссылки на ячейки этого диапазона на эквивалентные структурированные ссылки.

  • Отключение заголовков столбцов.    Вы можете включить и отключить заголовки столбцов таблицы на вкладке Конструктор таблицы > строке заголовков. Если отключить заголовки столбцов таблицы, структурированные ссылки, использующие имена столбцов, не затрагиваются, и вы по-прежнему можете использовать их в формулах. Структурированные ссылки, которые ссылаются непосредственно на заголовки таблицы (например, =DeptSales[[#Headers],[%Commission]]), приведут к #REF.

  • Добавление и удаление столбцов и строк в таблице.    Так как диапазоны табличных данных часто меняются, ссылки на ячейки для структурированных ссылок настраиваются автоматически. Например, если вы используете имя таблицы для подсчета всех ячеек в ней, и добавляете строку данных, ссылка на ячейки автоматически меняется.

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

  • Перемещение, копирование и заполнение структурированных ссылок    Все структурированные ссылки остаются неизменными при копировании или перемещении формулы, которая использует структурированную ссылку.

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

Направление заполнения:

И при заполнении нажимаете
:

Выполняется действие:

Вверх или вниз

Не нажимать

Указатели столбцов не будут изменены.

Вверх или вниз

CTRL

Указатели столбцов настраиваются как ряд.

Вправо или влево

Нет

Указатели столбцов настраиваются как ряд.

Вверх, вниз, вправо или влево

SHIFT

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

Дополнительные сведения

Вы всегда можете задать вопрос специалисту Excel Tech Community или попросить помощи в сообществе Answers community.

Статьи по теме

Общие сведения о таблицах

Excel Видео: создание и форматирование таблицы
Excel Итог данных в таблице
Excel Форматирование таблицы
Excel Изменение размера таблицы путем добавления или удаления строк и столбцов
Фильтрация данных в диапазоне или таблице
Преобразование таблицы в диапазон
Проблемы
с совместимостью таблиц ExcelЭкспорт таблицы Excel в SharePoint
Общие сведения о формулах в Excel

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

Получить букву строки или столбца текущей ячейки


Получить букву строки или столбца текущей ячейки

Получить букву строки текущей ячейки

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

= СИМВОЛ (СТРОКА () + 64)

= ЛЕВЫЙ (АДРЕС (1; СТРОКА (); 2); 1 + (СТРОКА ()> 26))

документ получить букву строки столбца 1

Получить букву столбца текущей ячейки

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

= СИМВОЛ (КОЛОНКА () + 64)

= ЛЕВЫЙ (АДРЕС (1; КОЛОНКА (); 2); 1 + (КОЛОНКА ()> 26))

документ получить букву строки столбца 2


Лучшие инструменты для работы в офисе

Kutools for Excel Решит большинство ваших проблем и повысит вашу производительность на 80%

  • Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма …
  • Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон
  • Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы… Предотвращение дублирования ячеек; Сравнить диапазоны
  • Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор …
  • Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое …
  • Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии
  • Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом …
  • Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF
  • Более 300 мощных функций. Поддерживает Office/Excel 2007-2021 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.

вкладка kte 201905


Вкладка Office: интерфейс с вкладками в Office и упрощение работы

  • Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
  • Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
  • Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!

офисный дно

Комментарии (5)


Номинальный 5 из 5


·


рейтинги 1

Вы можете использовать функции ROW и COLUMN для этого. Если вы опустите аргумент для этих формул, используется текущая ячейка. Их можно напрямую использовать с функцией OFFSET или любой другой функцией, в которой вы можете указать как строку, так и столбец в виде числовых значений.

Например, если вы введете =ROW() в ячейку D8, будет возвращено значение 8. Если вы введете =COLUMN() в той же ячейке, возвращается значение 4.

Если вам нужна буква столбца, вы можете использовать функцию CHAR . Я не рекомендую использовать буквы для представления столбца, поскольку при переходе к двухбуквенным именам столбцов все становится сложнее (где использование цифр в любом случае более логично).

В любом случае, если вы все еще хотите получить букву столбца, вы можете просто добавить 64 к номеру столбца (64 — на один символ меньше, чем A), поэтому в предыдущем примере, если вы установите значение ячейки =CHAR(COLUMN()+64) , возвращаемое значение будет D Если вы хотите, чтобы значением ячейки была сама ячейка, полная формула была бы =CHAR(COLUMN()+64) & ROW() .


Просто к вашему сведению, я получил 64 из таблицы ASCII. Вы также можете использовать формулу CODE , поэтому обновленная формула с использованием этого будет =CHAR(COLUMN() + CODE("A") - 1) . Вы должны вычесть 1, так как минимальное значение COLUMN всегда равно 1, а затем минимальное возвращаемое значение всей формулы будет B

Однако это не будет работать с двухбуквенными столбцами. В этом случае вам потребуется следующая формула для правильного анализа двухбуквенных столбцов:

=IF(COLUMN()>26,IF(RIGHT(CHAR(IF(MOD(COLUMN()-1,26)=0,1,MOD(COLUMN()-1,26))+64),1)="Y",CHAR(INT((COLUMN()-1)/26)+64) & "Z",CHAR(INT((COLUMN()-1)/26)+64) & CHAR(IF(MOD(COLUMN(),26)=0,1,MOD(COLUMN(),26))+64)),CHAR(COLUMN()+64))&ROW()

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


Задача функции

СТОЛБЕЦ(

)

, английский вариант COLUMN(),

— возвращать номер столбца. Формула

=

СТОЛБЕЦ(B1)

вернет 2, т.к. столбец B — второй столбец на листе.


Синтаксис функции

СТОЛБЕЦ()


СТОЛБЕЦ

(

ссылка

)


Ссылка

— необязательный аргумент. Ячейка или диапазон ячеек, для которого требуется возвратить номер столбца.

В качестве ссылки указан адрес одной ячейки

Если в качестве ссылки указан адрес одной ячейки, то функция вернет номер столбца этой ячейки


=СТОЛБЕЦ(B1)

вернет 2,

=СТОЛБЕЦ(F2)

вернет 6. Чтобы убедиться, что номер столбца F действительно 6 включите стиль ссылок R1C1 (

)

Если требуется задать название столбца через буквенное обозначение, то используйте формулу

=СТОЛБЕЦ(ДВССЫЛ(«F»&3))

Аргумент ссылки опущен

Если аргумент ссылки опущен, то предполагается, что это ссылка на ячейку, в которой находится сама функция

СТОЛБЕЦ()

Т.е. если формула =

СТОЛБЕЦ()

введена в ячейку

С5

, то формула вернет 3.

В качестве ссылки указан диапазон ячеек

Если в качестве ссылки указан диапазон ячеек, и формула введена как обычно (не как

формула массива

), то функция вернет номер столбца левой верхней ячейки диапазона.


=СТОЛБЕЦ(D26:G26)

вернет 4, т.е. номер столбца

D

.

Если в

Строке формул

выделить формулу и нажать

клавишу F9

, то мы увидим, что результатом формулы является не одно значение, а четыре {4;5;6;7} Так как в ячейке можно вывести только одно значение, то выводится, только первое, т.е. 4.

Чтобы вывести все 4 значения (см. статью

Формулы массива, возвращающие несколько значений

), выделите четыре ячейки, расположенные по горизонтали (

A27:D27

), в

Строке формул

введите формулу

=СТОЛБЕЦ(D26:G26)

и нажмите

CTRL+SHIFT+ENTER

. см.

файл примера

.

Формирование массива последовательных чисел

Записав формулу

=СТОЛБЕЦ(A26:D26)

мы сформируем

массив последовательных чисел

, который можно использовать в других задачах. Например, найдем сумму числового ряда 1+1/2+1/3+1/4+1/5+1/6+1/7 с помощью формулы

=СУММПРОИЗВ(1/СТОЛБЕЦ(A1:G1))

Сумму ряда от 1 до 1/n^2, где n = 7 можно вычислить так:

=СУММПРОИЗВ(1/(СТОЛБЕЦ(A1:G1)^2))

Содержание

  1. Цифровая нумерация столбцов
  2. Буквенная нумерация столбцов
  3. Вставка столбца
  4. Вставка через панель координат
  5. Добавление через контекстное меню ячейки
  6. Кнопка на ленте
  7. Горячие клавиши для вставки нового столбца
  8. Вставка двух и более столбцов
  9. Вставка столбца в конце таблицы
  10. Способы объединения
  11. При помощи специальной функции
  12. Преобразуем строки в столбцы в Excel при помощи Специальной вставки
  13. Как транспонировать таблицу, ссылающуюся на исходные данные
  14. Транспонируем данные в Excel при помощи формул
  15. Преобразуем в Excel строки в столбцы при помощи функции TRANSPOSE (ТРАНСП)
  16. В качестве ссылки указан адрес одной ячейки
  17. Аргумент ссылки опущен
  18. В качестве ссылки указан диапазон ячеек
  19. Синтаксис
  20. Дополнительная информация
  21. Полезные примеры функции СТОЛБЕЦ в Excel
  22. Заключение

Цифровая нумерация столбцов

Адрес ячейки указан как R19C30:

  • R, значит «Row» (строка) — 19
  • C, значит «Column» (Столбце) — 30

Т.е. в рассматриваемом примере столбец с ценой имеет номер 30. Именно его и необходимо указать.

Буквенная нумерация столбцов

В данном случае адрес ячейки имеет вид: AD19

  • AD — номер столбца
  • 19 — номер строки

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

Вставка столбца

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

Вставка через панель координат

Одним из самых простых способов вставки является операция через горизонтальную панель координат Excel.

  1. Кликаем в горизонтальной панели координат с наименованиями колонок по тому сектору, слева от которого нужно вставить столбец. При этом колонка полностью выделяется. Кликаем правой кнопкой мыши. В появившемся меню выбираем пункт «Вставить».
  2. После этого слева от выделенной области тут же добавляется новый столбец.

Добавление через контекстное меню ячейки

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

  1. Кликаем по любой ячейке, находящейся в столбце справа от планируемой к добавлению колонки. Кликаем по этому элементу правой кнопкой мыши. В появившемся контекстном меню выбираем пункт «Вставить…».
  2. На этот раз добавление не происходит автоматически. Открывается небольшое окошко, в котором нужно указать, что именно пользователь собирается вставить:
    • Столбец;
    • Строку;
    • Ячейку со сдвигом вниз;
    • Ячейку со сдвигом вправо.

    Переставляем переключатель в позицию «Столбец» и жмем на кнопку «OK».

  3. После этих действий колонка будет добавлена.

Кнопка на ленте

Вставку столбцов можно производить, используя специальную кнопку на ленте.

  1. Выделяем ячейку, слева от которой планируется добавить столбец. Находясь во вкладке «Главная», кликаем по пиктограмме в виде перевернутого треугольника, расположенного около кнопки «Вставить» в блоке инструментов «Ячейки» на ленте. В открывшемся меню выбираем пункт «Вставить столбцы на лист».
  2. После этого колонка будет добавлена слева от выделенного элемента.

Горячие клавиши для вставки нового столбца

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

  1. Кликаем по названию столбца на координатной панели. Как всегда, нужно помнить, что новый столбец будет вставлен слева от выбранного. Далее нажимаем сочетание клавиш “Ctrl” + “+”. После этого новый столбец сразу же добавится в таблицу.
  2. Кликаем по любой ячейке, не забывая тот факт, что новый столбец появится слева от нее. После этого жмем сочетание клавиш “Ctrl” + “+”.Появится знакомое окно, где нужно выбрать тип вставки (ячейка, строка или столбец). Как и во втором методе нужно выбрать пункт “столбец” после чего подтвердить действие щелчком по кнопке OK.

Вставка двух и более столбцов

Отдельного внимания заслуживает задача вставки нескольких дополнительных столбцов в таблицу. Благодаря функционалу Эксель нет необходимости добавлять столбцы поштучно, ведь на этот случай есть более практичный вариант:

  1. В первую очередь, выделяем по горизонтали столько ячеек (неважно, в самой таблице или на координатной панели), сколько новых столбцов планируется вставить.
  2. В зависимости от того, каким образом мы выполнили выделение, выполняем оставшиеся шаги по добавлению столбцов, руководствуясь методами 1-4, описанными выше. Например, в нашем случае мы произвели выделение на координатной панели, и теперь добавляем новые столбцы через контекстное меню, выбрав в нем соответствующий пункт.
  3. Благодаря нашим действиям удалось вставить в таблицу несколько новых столбцов слева от исходного диапазона, которые мы выделили.

Вставка столбца в конце таблицы

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

Чтобы вставить новый столбец и избежать его дальнейшего форматирования, необходимо из обычной таблицы сделать “умную”. Вот, что мы для этого делаем:

  1. Выделяем все ячейки таблицы. Как это сделать – читайте в нашей статье “Как выделить ячейки в Эксель“.
  2. Переключаемся во вкладку “Главная” и жмем кнопку “Форматировать как таблицу”, которая находится в разделе “Стили”.
  3. В появившемся списке выбираем подходящий стиль оформления для будущей “умной таблицы” и кликаем по нему.
  4. Появится небольшое окно, в котором требуется уточнить границы выделенной области. Если мы правильно выделили таблицу в первом шаге, трогать здесь ничего не нужно (в случае необходимости можно скорректировать данные). Убедившись в наличии галочки напротив пункта “Таблица с заголовками” жмем кнопку OK.
  5. В результате наша исходная таблица трансформировалась в “умную”.
  6. Теперь, чтобы добавить новый столбец в конце таблицы, достаточно просто заполнить любую ячейку справа от табличной области необходимыми данными. Заполненная колонка автоматически станет частью “умной таблицы” с сохранением форматирования.

Способы объединения

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

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

При помощи специальной функции

Сейчас будет рассказано, как объединить столбцы в Excel без потери данных. А производиться это с помощью функции «Сцепить»:

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

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

  1. Выделите объединенные данные.
  2. Установите курсор в нижнем правом углу ячейки.
  3. Зажмите ЛКМ и потяните вниз.
  4. Все остальные строки также объединились.
  5. Выделите полученные результаты.
  6. Скопируйте его.
  7. Выделите часть таблицы, которую хотите заменить.
  8. Вставьте полученные данные.

Этот способ довольно трудоемкий, однако он дает возможность объединить столбцы без потери данных.

Иногда, при работе с таблицами, или любыми другими данными, в Excel, у пользователей возникает вопрос: как преобразовать строки уже имеющейся таблицы в столбцы и наоборот. Также бывают ситуации, когда необходимо поменять местами строки и столбцы в таблице, вместе со всеми данными.

Первый способ, который поможет преобразовать строки в столбцы, это использование специальной вставки.

Для примера будем рассматривать следующую таблицу, которая размещена на листе Excel в диапазоне B2:D7. Сделаем так, чтобы шапка таблицы была записана по строкам. Выделяем соответствующие ячейки и копируем их, нажав комбинацию «Ctrl+C».

Теперь выделите ту ячейку на листе, где будет располагаться первая строка, в примере это «Имя». Кликните в ней правой кнопкой мышки и выберите из меню «Специальная вставка».

В следующем окне поставьте галочку в поле «Транспонировать» и нажмите «ОК».

Шапка таблицы, которая была записана по строкам, теперь записана в столбец. Если на листе в Экселе у Вас размещена большая таблица, можно сделать так, чтобы при пролистывании всегда была видна шапка таблицы (заголовки столбцов) и первая строка. Подробно ознакомиться с данным вопросом, можно в статье: как закрепить область в Excel.

Для того чтобы поменять строки со столбцами в таблице Excel, выделите весь диапазон ячеек нужной таблицы: B2:D7, и нажмите «Ctrl+C». Затем выделите необходимую ячейку для новой таблицы и кликните по ней правой кнопкой мыши. Выберите из меню «Специальная вставка», а затем поставьте галочку в пункте «Транспонировать».

Как видите, использование специальной вставки, позволяет сохранить исходное форматирование для транспонированных ячеек.

Второй способ – использование функции ТРАНСП. Для начала выделим диапазон ячеек для новой таблицы. В исходной таблице примера шесть строк и три столбца, значит, выделим три строки и шесть столбцов. Дальше в строке формул напишите: =ТРАНСП(B2:D7), где «B2:D7» – диапазон ячеек исходной таблицы, и нажмите комбинацию клавиш «Ctrl+Shift+Enter».

Таким образом, мы поменяли столбцы и строки местами в таблице Эксель.

Для преобразования строки в столбец, выделим нужный диапазон ячеек. В шапке таблицы 3 столбца, значит, выделим 3 строки. Теперь пишем: =ТРАНСП(B2:D2) и нажимаем «Ctrl+Shift+Enter».

При использовании функции ТРАНСП у транспонированной сохраниться связь с исходной таблицей. То есть, при изменении данных в первой таблице, они тут же отобразятся во второй.

В рассмотренном примере, заменим «Катя1» на «Катя». И допишем ко всем именам по первой букве фамилии. Обратите внимание, изменения вносим в исходную таблицу, которая расположена в диапазоне В2:D7.

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

Первый способ. Выделите нужный столбец, нажмите «Ctrl+C», выберите ячейку и кликните по ней правой кнопкой мыши. Из меню выберите «Специальная вставка». В следующем диалоговом окне ставим галочку в поле «Транспонировать».

Чтобы преобразовать данные столбца в строку, используя функцию ТРАНСП, выделите соответствующее количество ячеек, в строке формул напишите: =ТРАНСП(В2:В7) – вместо «В2:В7» Ваш диапазон ячеек. Нажмите «Ctrl+Shift+Enter».

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

Вот так легко, можно преобразовать строку в столбец в Эксель, или поменять столбцы на строки. Используйте любой из описанных способов.

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

  1. Выделите строки и столбцы, которые требуется поменять местами. Если Вы хотите развернуть всю таблицу целиком, т.е. все ячейки с данными на листе, нажмите Ctrl+Home, а затем Ctrl+Shift+End.
  2. Скопируйте выделенные ячейки. Для этого на выбор:
    • кликните по ним правой кнопкой мыши и выберите Copy (Копировать) в контекстном меню.
    • нажмите Ctrl+C.
    • нажмите кнопку Copy (Копировать) на вкладке Home (Главная) в разделе Clipboard (Буфер обмена).
  3. Выделите первую ячейку диапазона, в который Вы собираетесь скопировать транспонированные данные.

Замечание: Важно выбрать ячейку, которая находится за пределами диапазона исходных данных, чтобы скопированная область и область вставки не пересеклись. Например, если исходные данные состоят из 4 столбцов и 10 строк, то транспонированная таблица будет состоять из 10 столбцов и 4 строк.

  1. Вставьте скопированные данные при помощи команды Paste Special (Специальная вставка) > Transpose (Транспонировать). Вы можете открыть диалоговое окно Paste Special (Специальная вставка) тремя способами:
    • На вкладке Home (Главная) в разделе Clipboard (Буфер обмена), нажмите маленькую чёрную стрелку под кнопкой Paste (Вставить) и выберите команду Transpose (Транспонировать).
    • Кликните правой кнопкой мыши по ячейке, в которую нужно вставить данные, и в контекстном меню выберите Paste Special (Специальная вставка) > Transpose (Транспонировать).
    • (наконец, самый быстрый способ) Нажмите Ctrl+Alt+V, выберите опцию Transpose (Транспонировать) и кликните ОК.

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

Как Вы только что увидели, опция Transpose (Транспонировать) в Excel позволяет преобразовать строки в столбцы (или столбцы в строки) буквально за несколько секунд. Уверен, что этот способ очень полезен, когда требуется транспонировать таблицу один раз. Пользуясь этим методом, Вы сохраняете исходные данные, и это ещё один аргумент в его пользу.

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

  • Данный инструмент не доступен при копировании / вставке полнофункциональной таблицы Excel в отличие от простого диапазона. В этом случае Вам придётся скопировать таблицу без заголовков, либо преобразовать её в диапазон, т.е. кликнуть правой кнопкой мыши по любой ячейке таблицы и в контекстном меню выбрать Table (Таблица) > Convert to Range (Преобразовать в диапазон).
  • Более серьёзное ограничение этого метода состоит в том, что он создаёт копию исходных данных, и, если они изменятся, Вам придётся повторять процесс и транспонировать таблицу снова. Никто не захочет тратить своё драгоценное время на то, чтобы преобразовывать одни и те же строки и столбцы по нескольку раз. Согласны?

Как транспонировать таблицу, ссылающуюся на исходные данные

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

  1. Скопируйте строки, которые Вы хотите преобразовать в столбцы (или столбцы, которые хотите преобразовать в строки).
  2. Выберите пустую ячейку на этом же или другом листе.
  3. Откройте диалоговое окно Paste Special (Специальная вставка), как было показано в предыдущем примере, и нажмите Paste Link (Вставить связь) в нижнем левом углу диалогового окна.Результат будет примерно таким:

  4. Выделите новые данные и откройте диалоговое окно Excel – Find and Replace (Найти и заменить). Вы также можете нажать сочетание Ctrl+H, чтобы сразу попасть на вкладку Replace (Заменить).
  5. Замените все символы равно “=” на “ххх“. На самом деле Вы можете заменить их на любые другие символы, которых нет в рассматриваемом диапазоне.Это превратит Вашу таблицу в нечто слегка пугающее (смотри рисунок ниже), но не тревожьтесь, осталось всего 2 действия, и Вы получите желаемый результат.

  6. Скопируйте таблицу с символами “ххх” и выполните команду Paste Special (Специальная вставка) > Transpose (Транспонировать), чтобы преобразовать столбцы в строки (или строки в столбцы).
  7. Снова откройте диалоговое окно Find and Replace (Найти и заменить), чтобы заменить все символы “ххх” на “=“, т.е. восстановить ссылки на исходные ячейки. Готово!

Быстрое, спокойное и элегантное решение, не так ли? Единственный недостаток этого подхода состоит в том, что в процессе выполнения форматирование исходной таблицы будет потеряно, и Вам придётся восстанавливать его вручную (далее в этом уроке я покажу быстрый способ сделать это).

Транспонируем данные в Excel при помощи формул

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

Преобразуем в Excel строки в столбцы при помощи функции TRANSPOSE (ТРАНСП)

Как можно понять из её названия, функция TRANSPOSE (ТРАНСП) специально разработана для транспонирования данных в Excel. Если у Вас нет большого опыта работы с формулами в Excel, и в частности с функциями массива, то, пожалуйста, внимательно следите за тем, чтобы выполнять следующие шаги в точности как написано.

В этом примере мы будем преобразовывать таблицу, в которой перечислены штаты США с данными о населении:

Во-первых, необходимо определить точное количество строк и столбцов в таблице. В нашем примере это 7 столбцов и 6 строк, включая заголовки. Запомним эти цифры и приступим к преобразованию строк в столбцы.

  1. Посчитайте ячейки, которые Вы хотите транспонировать. В нашем случае это 7 столбцов и 6 строк.
  2. Выберите пустой диапазон ячеек. Так как функция TRANSPOSE (ТРАНСП) меняет вертикальное на горизонтальное измерение диапазона, значит нужно выбрать такое количество строк и столбцов, сколько столбцов и строк соответственно имеет Ваша исходная таблица. В нашем примере мы выбираем 6 столбцов и 7 строк.
  3. Нажмите F2, чтобы перейти в режим редактирования.
  4. Запишите функцию TRANSPOSE (ТРАНСП) и укажите в скобках диапазон данных, который нужно транспонировать. В нашем случае это будет выглядеть так:

    =TRANSPOSE($A$1:$G$6)
    =ТРАНСП($A$1:$G$6)

Замечание: Всегда используйте абсолютные ссылки для работы с функцией TRANSPOSE (ТРАНСП).

  1. Нажмите Ctrl+Shift+Enter.

Замечание: Обязательно нажмите Ctrl+Shift+Enter, поскольку это формула массива. Если для ввода формулы просто нажать Enter, то она работать не будет.

Готово! Наши данные транспонированы, 7 столбцов превратились в 6 столбцов, что и требовалось получить.

В качестве ссылки указан адрес одной ячейки

Если в качестве ссылки указан адрес одной ячейки, то функция вернет номер столбца этой ячейки

=СТОЛБЕЦ(B1) вернет 2, =СТОЛБЕЦ(F2) вернет 6. Чтобы убедиться, что номер столбца F действительно 6 включите стиль ссылок R1C1 ( )

Если требуется задать название столбца через буквенное обозначение, то используйте формулу

=СТОЛБЕЦ(ДВССЫЛ(“F”&3))

Аргумент ссылки опущен

Если аргумент ссылки опущен, то предполагается, что это ссылка на ячейку, в которой находится сама функция СТОЛБЕЦ()

Т.е. если формула = СТОЛБЕЦ() введена в ячейку С5 , то формула вернет 3.

В качестве ссылки указан диапазон ячеек

Если в качестве ссылки указан диапазон ячеек, и формула введена как обычно (не как формула массива ), то функция вернет номер столбца левой верхней ячейки диапазона.

=СТОЛБЕЦ(D26:G26) вернет 4, т.е. номер столбца D .

Если в Строке формул выделить формулу и нажать клавишу F9 , то мы увидим, что результатом формулы является не одно значение, а четыре {4;5;6;7} Так как в ячейке можно вывести только одно значение, то выводится, только первое, т.е. 4.

Чтобы вывести все 4 значения (см. статью Формулы массива, возвращающие несколько значений ), выделите четыре ячейки, расположенные по горизонтали ( A27:D27 ), в Строке формул введите формулу =СТОЛБЕЦ(D26:G26) и нажмите CTRL+SHIFT+ENTER . см. файл примера .

Синтаксис

=COLUMN([reference]) – английская версия

=СТОЛБЕЦ([ссылка]) – русская версия

Дополнительная информация

  • Если в качестве аргумента указан диапазон ячеек, то система вернет порядковый номер колонки находящейся с левого края диапазона. Например, =COLUMN(B2:D10) или =СТОЛБЕЦ(B2:D10) вернет “2”, так как из указанного диапазона, столбец, находящийся с крайнего левого ряда – “B”, а он второй по счету;
  • Если в качестве аргумента указан массив данных, то система вернет порядковое значение колонок для каждого столбца из этого массива;
  • Аргумент функции не может ссылаться на несколько диапазонов ячеек;
  • Функция COLUMN (СТОЛБЕЦ) может быть особенно полезна, когда вы хотите получить последовательность чисел в строке. Например, введите функцию =COLUMN() или =СТОЛБЕЦ() в ячейку A1 и перетащите её вправо. Вы получите последовательность чисел 1,2,3 ..

Полезные примеры функции СТОЛБЕЦ в Excel

Формула с использованием функции выдает массив последовательных чисел. Эту особенность можно применить для решения других задач.

Например, рассчитаем значение выражения 1 + ½ + 1/3. Используем формулу: =СУММПРОИЗВ(1/СТОЛБЕЦ(A2:C2)).

Выполним более сложные манипуляции с числовым рядом: найдем сумму значений от 1 до 1/n^3, где n = 6. Формула расчета: =СУММПРОИЗВ(1/СТОЛБЕЦ(A9:F9)^3).

Чаще всего данную функцию используют совместно с функцией ВПР. Задача первой функции – указать номер столбца возвращаемых значений. Такое совмещение удобно при работе с огромными таблицами. Например, пользователь помещает возвращаемые данные в табличку с такой же, как в исходной таблице, последовательностью столбцов. Причем обе таблицы достаточно широкие.

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

Аргументы функции ВПР: искомое значение, массив данных для анализа, номер столбца, интервальный просмотр (точный или приблизительный поиск). Сам номер можно задать с помощью такой формулы: =ВПР(8;A1:C10;СТОЛБЕЦ(C1);ИСТИНА).

При работе с широкими таблицами можно просто копировать функцию ВПР по горизонтали. В этом случае номера столбцов автоматически пересчитываются – табличка заполняется.

Нужна корректировка номера– прибавляем или отнимаем определенную цифру или рассчитанное с помощью какой-либо функции значение. Например,

Функция СТОЛБЕЦ должна вычесть 1 из номера колонки C. Поэтому функция ВПР возвращает значение не из третьего, а из второго столбца девятой строки.

Теперь проиллюстрируем, как работает многоразовое копирование без необходимости в ручной правке. Сначала в формуле закрепим ссылки на таблицу (кнопка F4). Скопируем формулу ВПР поперек столбцов – номер меняется автоматически (функция СТОЛБЕЦ сдвигается вместе с другими ссылками).

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

Заключение

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

Источники

  • https://gbsmarket.ru/knowledge-base/kak-pravilno-opredelit-nomer-stolbtsa-v-excel/
  • https://lumpics.ru/how-to-insert-column-in-excel/
  • https://MicroExcel.ru/dobavlenie-stolbcza/
  • http://word-office.ru/kak-sdelat-stolbcy-v-excel.html
  • https://office-guru.ru/excel/transponirovanie-v-excel-preobrazuem-stroki-v-stolbcy-i-naoborot-298.html
  • https://excel2.ru/articles/funkciya-stolbec-v-ms-excel-stolbec
  • https://excelhack.ru/funkciya-column-stolbec-v-excel/
  • https://exceltable.com/funkcii-excel/funkciya-stolbec

Как по значению одной ячейки, вывести название столбца

dansant

Дата: Понедельник, 28.05.2012, 01:00 |
Сообщение № 1

Группа: Пользователи

Ранг: Прохожий

Сообщений: 4


Репутация:

0

±

Замечаний:
0% ±


Доброго времени суток всем,

Долго лопатил ваш сайт, но к сожалению ничего похожего на нужный мне ответ пока не нашел.. Поэтому, прошу меня простить если такой вопрос уже встречался:

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

Пример из файла:

В колонке «Best Rate» из прикрепленного файла указано наименьшее значение строки относительно определенного парамета (20s, 40s, 40hc).
Т.е. если в ячейке D3 значение = 2200 (20s, название NYK), то как в ячейке A3 вывести название к которому это значение принадлежит (в данном случае NYK)?

Заранее всем низкий поклон за помощь..

 

Ответить

Michael_S

Дата: Понедельник, 28.05.2012, 03:03 |
Сообщение № 2

Группа: Друзья

Ранг: Старожил

Сообщений: 2012


Репутация:

373

±

Замечаний:
0% ±


Excel2016

Проверяйте

К сообщению приложен файл:

dansant.xls
(74.5 Kb)

 

Ответить

Serge_007

Дата: Понедельник, 28.05.2012, 09:47 |
Сообщение № 3

Группа: Админы

Ранг: Местный житель

Сообщений: 15894


Репутация:

2623

±

Замечаний:
±


Excel 2016

Вариант покороче:
[vba]

Code

=ИНДЕКС($I$1:$AF$1;;СУММПРОИЗВ((D3=$I3:$AF3)*(A$2=$I$2:$AF$2)*СТОЛБЕЦ($A:$X))-СТОЛБЕЦ()+1)

[/vba]

ЗЫ Кстати, dansant, неплохо было бы указать, что начало этой темы здесь

К сообщению приложен файл:

dansant2.xls
(63.5 Kb)


ЮMoney:41001419691823 | WMR:126292472390

 

Ответить

dansant

Дата: Понедельник, 28.05.2012, 11:35 |
Сообщение № 4

Группа: Пользователи

Ранг: Прохожий

Сообщений: 4


Репутация:

0

±

Замечаний:
0% ±


Всем большое спасибо за помощь!!

 

Ответить

dansant

Дата: Вторник, 29.05.2012, 01:33 |
Сообщение № 5

Группа: Пользователи

Ранг: Прохожий

Сообщений: 4


Репутация:

0

±

Замечаний:
0% ±


Quote (Serge_007)

Вариант покороче:
=ИНДЕКС($I$1:$AF$1;;СУММПРОИЗВ((D3=$I3:$AF3)*(A$2=$I$2:$AF$2)*СТОЛБЕЦ($A:$X))-СТОЛБЕЦ()+1)

ЗЫ Кстати, dansant, неплохо было бы указать, что начало этой темы здесь

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

Простите мне мою тупость, но позвольте задать вам вопрос (если это офф топик — вам решать):

Ваша формула гораздо короче , на мой субъективный взгляд, чем формула уважаемого Michael_S (спасибо ему отдельное), не могли бы вы мне это обьяснить?

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

«Функция INDEX — Дает возможность выбрать значение нужной ячейки в массиве данных.»

С уважением,

 

Ответить

Michael_S

Дата: Вторник, 29.05.2012, 01:53 |
Сообщение № 6

Группа: Друзья

Ранг: Старожил

Сообщений: 2012


Репутация:

373

±

Замечаний:
0% ±


Excel2016

В случае, если есть два МИН в строке, формула

Code

=ИНДЕКС($I$1:$AF$1;;СУММПРОИЗВ((D3=$I3:$AF3)*(A$2=$I$2:$AF$2)*СТОЛБЕЦ($A:$X))-СТОЛБЕЦ()+1)

вернет неверный результат (скорее всего — «0»)

 

Ответить

Serge_007

Дата: Вторник, 29.05.2012, 09:49 |
Сообщение № 7

Группа: Админы

Ранг: Местный житель

Сообщений: 15894


Репутация:

2623

±

Замечаний:
±


Excel 2016

Quote (dansant)

не думал, что эти два сайта связаны

Все сайты одинаковой тематики связаны между собой. В основном их постоянными посетителями smile

Quote (dansant)

Ваша формула гораздо короче, не могли бы вы мне это обьяснить?

Объяснить что? Что моя формула короче? Вы и так это заметили smile

Quote (dansant)

«Функция INDEX — Дает возможность выбрать значение нужной ячейки в массиве данных.»

Абсолютно верно. И в данном случае тоже так происходит. Из массива выбирается нужный столбец:

Quote (Michael_S)

В случае, если есть два МИН

Миш, о каких МИН речь?

К сообщению приложен файл:

3210821.gif
(25.8 Kb)


ЮMoney:41001419691823 | WMR:126292472390

 

Ответить

Michael_S

Дата: Вторник, 29.05.2012, 10:07 |
Сообщение № 8

Группа: Друзья

Ранг: Старожил

Сообщений: 2012


Репутация:

373

±

Замечаний:
0% ±


Excel2016

Quote (Serge_007)

Миш, о каких МИН речь?

 

Ответить

Serge_007

Дата: Вторник, 29.05.2012, 10:22 |
Сообщение № 9

Группа: Админы

Ранг: Местный житель

Сообщений: 15894


Репутация:

2623

±

Замечаний:
±


Excel 2016

Это и так понятно. В примере повторов не было, я их и не учитывал smile
Я спросил что такое «МИН»?


ЮMoney:41001419691823 | WMR:126292472390

 

Ответить

Michael_S

Дата: Вторник, 29.05.2012, 10:31 |
Сообщение № 10

Группа: Друзья

Ранг: Старожил

Сообщений: 2012


Репутация:

373

±

Замечаний:
0% ±


Excel2016

Quote (Serge_007)

Я спросил что такое «МИН»?

«МИН»=минимальных (в данном случае.
Лень писать было wink

 

Ответить

dansant

Дата: Вторник, 29.05.2012, 10:41 |
Сообщение № 11

Группа: Пользователи

Ранг: Прохожий

Сообщений: 4


Репутация:

0

±

Замечаний:
0% ±


Все, понял..!! Благодарю за помощь и доходчивое обьяснение. Удачи вам!!

 

Ответить

serg_but

Дата: Воскресенье, 10.02.2013, 17:05 |
Сообщение № 12

Группа: Пользователи

Ранг: Прохожий

Сообщений: 3


Репутация:

0

±

Замечаний:
0% ±


Добрый день! Поясните новичку для чего нужна формула — СУММПРОИЗВ((D3=$I3:$AF3)*(A$2=$I$2:$AF$2)*СТОЛБЕЦ($A:$X))-СТОЛБЕЦ()+1) и в частности не понятна здесь функция СТОЛБЕЦ($A:$X))-СТОЛБЕЦ(). Помогите, пжл, правильно настроить формулу в приложенном файле. Заранее благодарен.

К сообщению приложен файл:

1064662.xlsx
(11.0 Kb)

 

Ответить

ABC

Дата: Воскресенье, 10.02.2013, 20:05 |
Сообщение № 13

Группа: Друзья

Ранг: Обитатель

Сообщений: 397


Репутация:

112

±

Замечаний:
0% ±


Excel 2007

я не понял задачу, но уверен что Вашем файле использовать СТОЛБЕЦ() без полезно…
пробуйте через вычисление формул


MS Excel 2007 and 2010…
——————————-
С Уважением, Даулет

 

Ответить

AlexM

Дата: Воскресенье, 10.02.2013, 20:29 |
Сообщение № 14

Группа: Друзья

Ранг: Участник клуба

Сообщений: 4257


Репутация:

1046

±

Замечаний:
0% ±


Excel 2003

Формула для А3

Код

=ИНДЕКС($F$1:$J$1;;СУММПРОИЗВ((B3=$F3:$K3)*(A$2=$F$2:$K$2)*СТОЛБЕЦ($A:$F)))



Номер мобильного модема (без голосовой связи)
9269171249 МегаФон, Московский регион.

 

Ответить

serg_but

Дата: Воскресенье, 10.02.2013, 22:01 |
Сообщение № 15

Группа: Пользователи

Ранг: Прохожий

Сообщений: 3


Репутация:

0

±

Замечаний:
0% ±


AlexM, низкий поклон за помощь — получил то что хотел. Но хочется понять логику формулы: 1. Для чего используется функция СУММПРОИЗВ аргументом в формуле функции ИНДЕКС. 2. Для чего используется функция СТОЛБЕЦ аргументом в формуле функции СУММПРОИЗВ. 3. Почему аргументом функции СТОЛБЕЦ указан диапазон $A:$F а не какой-то другой. Пжл объясните чайнику.

 

Ответить

AlexM

Дата: Воскресенье, 10.02.2013, 22:16 |
Сообщение № 16

Группа: Друзья

Ранг: Участник клуба

Сообщений: 4257


Репутация:

1046

±

Замечаний:
0% ±


Excel 2003

В вашем файле, в диапазоне F9:K11 показано что возвращает каждый фрагмент формулы
Как видно внутри функции СУММПРОИЗВ все фрагменты перемножаются, а потом суммируются. Происходит то, что отражается в названии функции СУММируютсяПРОИЗВедения
почему СТОЛБЕЦ($A:$F). Столбец А — 1-ый, Столбец В — 2-ой, С — 3 и тд
Функция СУММПРОИЗВ вернет значение номер элемента массива $F$1:$J$1



Номер мобильного модема (без голосовой связи)
9269171249 МегаФон, Московский регион.

 

Ответить

serg_but

Дата: Воскресенье, 10.02.2013, 22:45 |
Сообщение № 17

Группа: Пользователи

Ранг: Прохожий

Сообщений: 3


Репутация:

0

±

Замечаний:
0% ±


AlexM, еще раз спасибо!

 

Ответить

exel

Дата: Воскресенье, 25.08.2013, 00:56 |
Сообщение № 18

Группа: Пользователи

Ранг: Новичок

Сообщений: 18


Репутация:

0

±

Замечаний:
0% ±


Excel 2003

Всем доброй ночи!!!

Вот сижу — ломаю голову… Никак вышеуказанные формулы у меня не работают. Есть нескольно ньюансов.

1. Нужно из строки найти мин значение, по некоторым столбцам эти мин значения повторяются.

2. В самом первом столбце не во всех строках есть значения.

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

К сообщению приложен файл:

9876245.xls
(32.0 Kb)

 

Ответить

Nic70y

Дата: Воскресенье, 25.08.2013, 09:21 |
Сообщение № 19

Группа: Друзья

Ранг: Экселист

Сообщений: 8137


Репутация:

2000

±

Замечаний:
0% ±


Excel 2010


формулой? я даже не знаю…

К сообщению приложен файл:

236.xls
(37.5 Kb)


ЮMoney 41001841029809

 

Ответить

exel

Дата: Воскресенье, 25.08.2013, 12:10 |
Сообщение № 20

Группа: Пользователи

Ранг: Новичок

Сообщений: 18


Репутация:

0

±

Замечаний:
0% ±


Excel 2003

у меня есть несколько первозчиков, у каждого свои ставки.

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

К сообщению приложен файл:

0271642.xls
(30.5 Kb)

 

Ответить

Эта функция возвращает букву столбца для заданного номера столбца.

Function Col_Letter(lngCol As Long) As String
    Dim vArr
    vArr = Split(Cells(1, lngCol).Address(True, False), "$")
    Col_Letter = vArr(0)
End Function

код тестирования для столбца 100

Sub Test()
    MsgBox Col_Letter(100)
End Sub

brettdj
09 окт. 2012, в 10:03

Поделиться

Если вы не хотите использовать объект диапазона:

Function ColumnLetter(ColumnNumber As Long) As String
    Dim n As Long
    Dim c As Byte
    Dim s As String

    n = ColumnNumber
    Do
        c = ((n - 1) Mod 26)
        s = Chr(c + 65) & s
        n = (n - c)  26
    Loop While n > 0
    ColumnLetter = s
End Function

robartsd
12 март 2013, в 17:44

Поделиться

Что-то, что работает для меня, это:

Cells(Row,Column).Address 

Это вернет ссылку формата $AE $1 для вас.

Damian Fennelly
21 нояб. 2013, в 22:25

Поделиться

Еще один способ сделать это. Brettdj answer заставлял меня думать об этом, но если вы используете этот метод, вам не нужно использовать альтернативный массив, вы можете перейти непосредственно к строке.

ColLtr = Cells(1, ColNum).Address(True, False)
ColLtr = Replace(ColLtr, "$1", "")

или может сделать его немного более компактным с этим

ColLtr = Replace(Cells(1, ColNum).Address(True, False), "$1", "")

Обратите внимание, что это зависит от того, как вы ссылаетесь на строку 1 в объекте ячейки.

OSUZorba
23 май 2014, в 16:01

Поделиться

И решение с использованием рекурсии:

Function ColumnNumberToLetter(iCol As Long) As String

    Dim lAlpha As Long
    Dim lRemainder As Long

    If iCol <= 26 Then
        ColumnNumberToLetter = Chr(iCol + 64)
    Else
        lRemainder = iCol Mod 26
        lAlpha = Int(iCol / 26)
        If lRemainder = 0 Then
            lRemainder = 26
            lAlpha = lAlpha - 1
        End If
        ColumnNumberToLetter = ColumnNumberToLetter(lAlpha) & Chr(lRemainder + 64)
    End If

End Function

Nikolay Ivanov
27 нояб. 2013, в 11:26

Поделиться

Изображение 3720

  • Например: MsgBox Columns( 9347).Address возвращает Изображение 3721.

Чтобы возвращать ТОЛЬКО буквенные ( ).Address(,0)),":")(0): Split((Columns( Column Index ).Address(,0)),":")(0)

  • Например: MsgBox Split((Columns( 2734).Address(,0)),":")(0) возвращает Изображение 3722.

Изображение 3723


ashleedawg
30 март 2018, в 15:55

Поделиться

Это доступно с помощью формулы:

=SUBSTITUTE(ADDRESS(1,COLUMN(),4),"1","")

и поэтому также может быть записана как функция VBA по запросу:

Function ColName(colNum As Integer) As String
    ColName = Split(Worksheets(1).Cells(1, colNum).Address, "$")(1)
End Function

Alistair Collins
09 дек. 2014, в 13:32

Поделиться

Это версия ответа robartsd (с ароматом однострочное решение Jan Wijninckx), используя рекурсию вместо цикла.

Public Function ColumnLetter(Column As Integer) As String
    If Column < 1 Then Exit Function
    ColumnLetter = ColumnLetter(Int((Column - 1) / 26)) & Chr(((Column - 1) Mod 26) + Asc("A"))
End Function

Я тестировал это со следующими входами:

1   => "A"
26  => "Z"
27  => "AA"
51  => "AY"
702 => "ZZ"
703 => "AAA" 
-1  => ""
-234=> ""

alexanderbird
04 фев. 2015, в 17:30

Поделиться

код robertsd является элегантным, но для того, чтобы сделать его перспективным, измените объявление n на тип long

Если вам нужна формула, чтобы избежать макросов, вот что работает до столбца 702 включительно

=IF(A1>26,CHAR(INT((A1-1)/26)+64),"")&CHAR(MOD(A1-1,26)+65)

где A1 — ячейка, содержащая номер столбца, который должен быть преобразован в буквы.

Jan Wijninckx
17 фев. 2014, в 04:18

Поделиться

Существует очень простой способ использования Excel: используйте свойство Range.Cells.Address, таким образом:

strCol = Cells(1, lngRow).Address(xlRowRelative, xlColRelative)

Это вернет адрес нужного столбца в строке 1. Возьмите его 1:

strCol = Left(strCol, len(strCol) - 1)

Обратите внимание, что это так быстро и мощно, что вы можете вернуть адреса столбцов, которые даже существуют!

Замените lngRow на нужный номер столбца, используя свойство Selection.Column!

flaviomorgado
29 июль 2014, в 13:45

Поделиться

Это будет работать независимо от того, какой столбец внутри вашей одной строки кода для ячейки, расположенной в строке X, в столбце Y:

Mid(Cells(X,Y).Address, 2, instr(2,Cells(X,Y).Address,"$")-2)

Если у вас есть ячейка с уникальным именем «Cellname»:

Mid(Cells(1,val(range("Cellname").Column)).Address, 2, instr(2,Cells(1,val(range("Cellname").Column)).Address,"$")-2)

Codeplayer
05 нояб. 2014, в 18:56

Поделиться

Вот простой лайнер, который можно использовать.

ColumnLetter = Mid(Cells(Row, LastColA).Address, 2, 1)

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

ColumnLetter = Mid(Cells(Row, LastColA).Address, 2, 2)

Syd B
26 авг. 2014, в 14:46

Поделиться

Это функция, основанная на @DamienFennely answer выше. Если вы дадите мне большие пальцы, дайте ему большие пальцы!: P

Function outColLetterFromNumber(iCol as Integer) as String
    sAddr = Cells(1, iCol).Address
    aSplit = Split(sAddr, "$")
    outColLetterFromNumber = aSplit(1)
End Function

BrettFromLA
20 март 2014, в 20:23

Поделиться

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

MID (CELL ( «адрес», A1), 2, SEARCH ( «$», CELL ( «адрес», A1), 2) -2)

Как это устроено:

CELL («свойство», «диапазон») возвращает определенное значение диапазона в зависимости от используемого свойства. В этом случае адрес ячейки. Свойство address возвращает значение $ [col] $ [row], то есть A1 → $ A $ 1. Функция MID анализирует значение столбца между символами $.

Thom
31 янв. 2018, в 19:40

Поделиться

Здесь простая функция в Pascal (Delphi).

function GetColLetterFromNum(Sheet : Variant; Col : Integer) : String;
begin
  Result := Sheet.Columns[Col].Address;  // from Col=100 --> '$CV:$CV'
  Result := Copy(Result, 2, Pos(':', Result) - 2);
end;

Jordi
08 сен. 2017, в 12:47

Поделиться

Function fColLetter(iCol As Integer) As String
  On Error GoTo errLabel
  fColLetter = Split(Columns(lngCol).Address(, False), ":")(1)
  Exit Function
errLabel:
  fColLetter = "%ERR%"
End Function

Krzysztof
04 март 2017, в 23:43

Поделиться

Вот поздний ответ, просто для упрощенного подхода с использованием Int() и If в случае столбцов с 1 символом:

Function outColLetterFromNumber(i As Integer) As String

    If i < 27 Then       'one-letter
        col = Chr(64 + i)
    ElseIf i < 677 Then  'two-letter
        col = Chr(64 + Int(i / 26)) & Chr(64 + i - (Int(i / 26) * 26))
    Else                 'three-letter
        col = Chr(64 + Int(i / 676)) & Chr(64 + Int(i - Int(i / 676) * 676) / 26)) & Chr(64 + i - (Int(i - Int(i / 676) * 676) / 26) * 26))
    End If

    outColLetterFromNumber = col

End Function

ib11
28 май 2016, в 22:56

Поделиться

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

Public Function ColumnLetter(Optional ColumnNumber As Long = 0) As String
    If ColumnNumber = 0 Then
        ColumnLetter = Split(Application.Caller.Address(True, False, xlA1), "$")(0)
    Else
        ColumnLetter = Split(Cells(1, ColumnNumber).Address(True, False, xlA1), "$")(0)
    End If
End Function

Компромисс этой функции заключается в том, что она будет очень немного медленнее, чем ответ brettdj из-за теста IF. Но это можно почувствовать, если функция многократно используется в течение очень большого количества раз.

Rosetta
19 март 2016, в 06:41

Поделиться

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

Проблема, с которой я столкнулась, — это прокрутка к определенному столбцу на основе вывода функции MATCH(). Вместо того, чтобы преобразовать номер столбца в параллельную букву столбца, я решил временно переключить стиль ссылки с A1 на R1C1. Таким образом, я мог просто прокрутить до номера столбца, не зациклившись на функции VBA. Чтобы легко переключаться между двумя стилями ссылок, вы можете использовать этот код VBA:

Sub toggle_reference_style()

If Application.ReferenceStyle = xlR1C1 Then
  Application.ReferenceStyle = xlA1
Else
  Application.ReferenceStyle = xlR1C1
End If

End Sub

Will Ediger
12 фев. 2015, в 19:15

Поделиться

Это только для REFEDIT… вообще использовать код uphere
короткая версия… легко читается и понимается/
он использует poz из $

Private Sub RefEdit1_Change()

    Me.Label1.Caption = NOtoLETTER(RefEdit1.Value) ' you may assign to a variable  var=....'

End Sub

Function NOtoLETTER(REFedit)

    Dim First As Long, Second As Long

    First = InStr(REFedit, "$")                 'first poz of $
    Second = InStr(First + 1, REFedit, "$")     'second poz of $

    NOtoLETTER = Mid(REFedit, First + 1, Second - First - 1)   'extract COLUMN LETTER

End Function

Gabriel V
19 март 2016, в 18:24

Поделиться

Sub GiveAddress()
    Dim Chara As String
    Chara = ""
    Dim Num As Integer
    Dim ColNum As Long
    ColNum = InputBox("Input the column number")

    Do
        If ColNum < 27 Then
            Chara = Chr(ColNum + 64) & Chara
            Exit Do
        Else
            Num = ColNum / 26
            If (Num * 26) > ColNum Then Num = Num - 1
            If (Num * 26) = ColNum Then Num = ((ColNum - 1) / 26) - 1
            Chara = Chr((ColNum - (26 * Num)) + 64) & Chara
            ColNum = Num
        End If
    Loop

    MsgBox "Address is '" & Chara & "'."
End Sub

Chetan V.
04 фев. 2016, в 11:50

Поделиться

Письмо столбца из номера столбца можно извлечь, используя формулу, выполнив следующие шаги:
1. Вычислите адрес столбца с помощью формулы ADDRESS
2. Извлечь букву столбца с помощью функции MID и FIND

Пример:
1. АДРЕС (1000,1000,1)
результаты $ALL $1000
2. = MID (F15,2, FIND ( «$», F15,2) -2)
результаты ALL asuming F15 содержит результат шага 1

За один раз мы можем написать
 MID (АДРЕС (1000,1000,1), 2, FIND ( «$», адрес (1000,1000,1), 2) -2)

Bhanu Sinha
22 сен. 2015, в 22:19

Поделиться

Простой способ получить имя столбца

Sub column()

cell=cells(1,1)
column = Replace(cell.Address(False, False), cell.Row, "")
msgbox column

End Sub

Я надеюсь, что это поможет =)

cristobal
11 нояб. 2014, в 12:37

Поделиться

как просто преобразовать в число ascii и использовать Chr() для преобразования обратно в букву?

col_letter = Chr (Selection.Column + 96)

beef_supreme
15 июль 2016, в 17:28

Поделиться

PEDRO COUTO
30 март 2016, в 10:31

Поделиться

Здесь другой способ:

{

      Sub find_test2()

            alpha_col = "A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,W,Z" 
            MsgBox Split(alpha_col, ",")(ActiveCell.Column - 1) 

      End Sub

}

Mike Powell
28 июль 2014, в 14:17

Поделиться

Ещё вопросы

  • 0Керл разбирает текст не xml
  • 1Триггер: посещенное состояние (сделать ссылки фиолетовым) при просмотре в Electron
  • 1Определить углы сетки
  • 1Webstorm Отладка скрипта NPM через IDE
  • 0Необязательное условие SQL в предложении WHERE в построителе отчетов
  • 1Ошибка в ReportViewer после развертывания ClickOnce — HRESULT: 0x80131401
  • 1Запуск консольного приложения из командной строки без запуска нового окна консоли
  • 1Общее отражение, как получить список?
  • 0Скрыть все элементы списка, которые не отмечены, Ruby или JavaScript
  • 0jQuery $ не определен
  • 0(PDO PHP) Самый быстрый способ обновить или вставить несколько строк?
  • 0Невозможно использовать простой пример JSOUP для разбора данных таблицы веб-сайта
  • 0Как заказать BY с разными столбцами как один столбец?
  • 0Карма юнит тестирование — ошибка при загрузке плагина
  • 0AngularJS ng-infinite-scroll не работает на конкретном контейнере / div
  • 0Использование $ routeParams внутри фильтра повторов
  • 0хотите получить комментарий, набранный в текстовой области без отправки формы
  • 1Как сделать так, чтобы день-час считался с пандой
  • 0Как я могу исправить основной раздел на домашней странице сайта? Ссылка будет прикреплена
  • 0Как я могу получить проверку «одно из» Nod для работы с флажками?
  • 0Как получить текущее системное время в хранимой процедуре MYSQL
  • 0Установите значение java-скрипта для php-сессии и получите значение сессии для другого php-файла.
  • 0PHP передает данные по страницам
  • 1Разделить текст и поместить текст между ними
  • 0C ++ Сервер иногда падает, SIGILL
  • 0mysq — использовать переменную (дату), когда SELECT * INTO OUTFILE (по имени файла)
  • 0Угловой JS NG-Disabled не работает
  • 0как остановить навигацию внутри текстового поля с помощью клавиш вверх и вниз при навигации в предложении
  • 0Как удалить существующую область отсечения с холста
  • 1Крюк для моего веб-приложения Vaadin запуска и остановки?
  • 1request.post в узле выбрасывает {code: undefined, причина: ‘Ошибка аргумента, options.body.’ }
  • 1сохранить полигон из изображения в базе данных PostGIS
  • 1python: найти два элемента в массиве, которые умножаются на 20
  • 0Центр контента без оболочки
  • 0угловой запрос js post для nodejs json. ключ не определено экспресс 4
  • 1Поддерживается ли эмуляция карт в Android с NFC?
  • 0Буквенно-цифровое значение в ngModel выводится в верхнем регистре в AngularJS
  • 1Java байт и умножение с плавающей запятой
  • 1Microsoft QnA maker — Приветственное сообщение
  • 1ASP.NET MVC метод модульного тестирования, который возвращает сессию
  • 1XmlPullParser как получить res / raw / xml / xmlfilename?
  • 1Сделать всплывающее окно CSS активировать с помощью JavaScript
  • 0Угловая JS Binding не работает
  • 1Совместимость Hibernate 3.3 JDK 7
  • 0Выберите двойным щелчком или одной буквой div, который делает фокус ввода
  • 1Сгруппируйте по столбцам в Dataframe и создайте отдельный CSV для всей группы
  • 0CSS не меняется при вызове JS в HTML
  • 0проверить, существует ли запись (PDO)
  • 0Синхронизация QStateMachine (отображение неблокирующего диалога с помощью сигнала QState enter ())
  • 1Как отфильтровать строки панд на основе последней / следующей строки?

Понравилась статья? Поделить с друзьями:
  • Формула имт для excel
  • Формула импорта в excel
  • Формула импликации для excel
  • Формула имени файла excel
  • Формула или при форматирование excel