Improve Article
Save Article
Like Article
Improve Article
Save Article
Like Article
We have discussed Conversion from column number to Excel Column name. In this post, reverse is discussed.
Given a column title as appears in an Excel sheet, return its corresponding column number.
column column number A -> 1 B -> 2 C -> 3 ... Z -> 26 AA -> 27 AB -> 28
Examples:
Input: A Output: 1 A is the first column so the output is 1. Input: AA Output: 27 The columns are in order A, B, ..., Y, Z, AA .. So, there are 26 columns after which AA comes.
Approach: The process is similar to binary to decimal conversion.
For example, to convert AB, the formula is 26 * 1 + 2.
As another example,
To convert CDA, 3*26*26 + 4*26 + 1 = 26(3*26 + 4) + 1 = 26(0*26 + 3*26 + 4) + 1
So it is very much similar to converting binary to decimal keeping the base as 26.
Take the input as string and the traverse the input string from the left to right and calculate the result as follows:
result = 26*result + s[i] - 'A' + 1
The result will be summation of
.
Implementation:
C++
#include <bits/stdc++.h>
using
namespace
std;
int
titleToNumber(string s)
{
int
result = 0;
for
(
const
auto
& c : s)
{
result *= 26;
result += c -
'A'
+ 1;
}
return
result;
}
int
main()
{
cout << titleToNumber(
"CDA"
) << endl;
return
0;
}
Java
import
java.util.*;
import
java.lang.*;
class
GFG
{
static
int
titleToNumber(String s)
{
int
result =
0
;
for
(
int
i =
0
; i < s.length(); i++)
{
result *=
26
;
result += s.charAt(i) -
'A'
+
1
;
}
return
result;
}
public
static
void
main (String[] args)
{
System.out.print(titleToNumber(
"CDA"
));
}
}
Python3
def
titleToNumber(s):
result
=
0
;
for
B
in
range
(
len
(s)):
result
*
=
26
;
result
+
=
ord
(s[B])
-
ord
(
'A'
)
+
1
;
return
result;
print
(titleToNumber(
"CDA"
));
C#
using
System;
class
GFG
{
public
static
int
titleToNumber(
string
s)
{
int
result = 0;
for
(
int
i = 0; i < s.Length; i++)
{
result *= 26;
result += s[i] -
'A'
+ 1;
}
return
result;
}
public
static
void
Main(
string
[] args)
{
Console.Write(titleToNumber(
"CDA"
));
}
}
Javascript
<script>
function
titleToNumber(s)
{
let result = 0;
for
(let i = 0; i < s.length; i++)
{
result *= 26;
result += s[i].charCodeAt(0) -
'A'
.charCodeAt(0) + 1;
}
return
result;
}
document.write(titleToNumber(
"CDA"
));
</script>
Complexity Analysis:
- Time Complexity: O(n), where n is length of input string.
- Space Complexity: O(1).
As no extra space is required.
This article is contributed by Sahil Rajput. If you like GeeksforGeeks and would like to contribute, you can also write an article using write.geeksforgeeks.org or mail your article to review-team@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Like Article
Save Article
narod svs Пользователь Сообщений: 150 |
#1 28.07.2022 09:48:16 Подскажите как написать функцию поиска номера столбца по названию заголовка?
Мне нужна эта функция чтобы потом в коде обращаться к номеру столбца по имени, типа так..
Изменено: narod svs — 28.07.2022 09:55:47 |
||||
Msi2102 Пользователь Сообщений: 3134 |
narod svs, Покажите пример |
narod svs Пользователь Сообщений: 150 |
Msi2102, смысл такой, у меня есть код в котором я ссылаюсь на столбцы по номеру. Но после тог как добавляя в таблице где-нибудь столбец мне приходится править код… Вот и хочу функцию, чтобы в коде с ее помощью находить номер столбца по названию… |
narod svs Пользователь Сообщений: 150 |
#4 28.07.2022 10:03:29
а как найти количество столбцов умной таблицы? так не хочет… |
||
Jack Famous Пользователь Сообщений: 10846 OS: Win 8.1 Корп. x64 | Excel 2016 x64: | Browser: Chrome |
#5 28.07.2022 10:06:26
.ListObjects(«Таблица1»).ListColumns.Count The VBA Guide To ListObject Excel Tables Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄ |
||
RAN Пользователь Сообщений: 7091 |
#6 28.07.2022 10:16:56
|
||
narod svs Пользователь Сообщений: 150 |
#7 28.07.2022 10:21:57
спасибо, искал но не нашел)) |
||
Msi2102 Пользователь Сообщений: 3134 |
#8 28.07.2022 10:25:58 Вы предлагаете нам рисовать таблицы, это кому больше надо?
Изменено: Msi2102 — 28.07.2022 10:29:25 |
||
narod svs Пользователь Сообщений: 150 |
|
narod svs Пользователь Сообщений: 150 |
#10 28.07.2022 10:34:20
вот то что надо, большое спасибо |
||
Дмитрий(The_Prist) Щербаков Пользователь Сообщений: 14181 Профессиональная разработка приложений для MS Office |
#11 28.07.2022 11:34:26
можно проще/
обратиться к конкретной ячейке столбца по индексу(в примере это третья строка):
Изменено: Дмитрий(The_Prist) Щербаков — 28.07.2022 11:36:35 Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы… |
||||||
narod svs Пользователь Сообщений: 150 |
#12 28.07.2022 13:18:04
спасибо |
||
При загрузке данных в GBS.Market из Excel может потребоваться определение номера столбца в документе формата Excel для ячейки. Например, можно:
- загрузить товары из Excel
- загрузить накладную из Excel
- загрузить контакты (покупателей) из Excel
Определение номера столбца
Чтобы определить номер столбца для ячейки, установит курсов в необходимом месте. В поле “адрес” будет отображен адрес выбранной ячейки. На скриншоте ниже номер столбца для выбранной ячейки – “B”
Если включен стиль ссылок R1C1, то результат будет выглядеть иначе.
Здесь адрес ячейки “R33C2”, что означает:
- Строка: 33
- Столбец: 2 – это искомое значение.
Важно Обратите внимание, что ячейка на скриншотах является объединенной из нескольких, но номер столбца ей присвоен равным значению номера столбца из крайней левой ячейки.
Отображение номеров столбцов в GBS.Market
При загрузке данных из Excel в GBS.Market можно ввести числовое значение номера столбца, но рядом будет отображено значение в буквенном формате.
Важно В GBS.Market при загрузке данных из Excel необходимо указывать числовое значение номера столбца, поэтому рекомендуем использовать именно такой формат для удобства.
Стиль ссылок в Excel
Необходимо понимать, что нумерация столбцов в Excel бывает двух видов, а именно адрес ячейки (стиль ссылки) в Excel может быть:
- F11 – буквенно-числовой
- R19C30 – числовой
Первая запись значит, что ячейка находится в столбце F, строка 11
Вторая запись значит, что ячейка находится в столбце 30, строка 19. Где R – row (строка), C – column (столбец).
Числовой формат
На скриншоте ниже видим, что в заголовках столбца прописаны числа
Буквенно-числовой формат
На этом скриншоте показано, что заголовки столбцов содержат буквы латинского алфавита.
Как изменить стиль ссылок в Excel
На примере Excel 2022 (Microsoft Office 365) рассмотрим, как происходит изменение стиля ссылок в документе Excel.
Откройте документ, с которым будете работать. Далее в меню нажмите “Файл”.
Слева внизу перейдите в раздел “Параметры”
На вкладке “Формулы” можно изменить стиль ссылок. Если включить опцию “Стиль ссылок R1C1”, то столбцы в документе будут иметь числовой формат. Если опцию отключить, то столбцы в документе Excel будут в буквенном формате.
После внесения изменений нажмите “Ок”, чтобы сохранить параметры.
СТОЛБЕЦ (функция СТОЛБЕЦ)
Смотрите также кажется, так как проблемой, что иЗадача та же…НеНикак не могу процедуру повесить наJayBhagavanа в макросе первой ячейке название столбцов автоматически пересчитываются таблицами. Например, пользователь
Описание
Enter.Аргумент – вертикальный диапазонСнимите флажок материалами на вашем находится сама функция горизонтального массива, тоВ этой статье описаны названия столбцов в
Синтаксис
выше.
соображу, какой интервал сообразить, как в
-
Worksheet_Change по изменению: Не понимаю зачем это можно точно колонки. На другом – табличка заполняется.
-
помещает возвращаемые данныеАргумент – ссылка на ячеек:использовать стиль ссылок R1C1 языке. Эта страницаСТОЛБЕЦ функция синтаксис формулы и двух таблицах разные.Есть 2 заполненные ячеек вставить в функции ВПР номер
ячейки C1 макрос, если используете так же сделать листе выпадающий списокНужна корректировка номера– прибавляем в табличку с горизонтальный массив:Функция вернула номер столбца,.
переведена автоматически, поэтому.СТОЛБЕЦ использование функции
-
Читаем Правила форума, таблицы, строки первой СТОЛБЕЦ, там должен столбца задавать неSub ВПР() With формулу. при помощи Application.WorksheetFunction.Match с названиями. Как или отнимаем определенную такой же, как
-
Формула вернула номера столбцов в котором расположенЗаголовки столбцов теперь показ ее текст можетАргумент ссылки не можетвозвращает номера столбцовСТОЛБЕЦ
-
создаём свою тему, таблицы описывают отдельные быть сдвиг по
-
Пример
константой (скажем, 3), Sheets(«База») iAddress$ =Николай МалыгинНиколай Малыгин определить номер колонки цифру или рассчитанное в исходной таблице, в виде горизонтального диапазон. A, B и содержать неточности и ссылаться на несколько в ссылке в
в Microsoft Excel. |
прикладываем файл с |
платежи, строки второй |
ячейкам. |
а некоей ссылкой .Range(.Range(«A2»), .Range(«A65536») _ |
: На листе «Счет» |
: Пример прилагаю. Может |
таблицы по значению |
с помощью какой-либо |
support.office.com
Заголовки столбцов помечены числами, а не буквами
последовательностью столбцов. Причем массива.Аргумент – горизонтальный диапазон C, вместо 1, грамматические ошибки. Для областей. виде горизонтального массива. Дополнительные сведения о примером. Эта тема – описывают теSerge_007 на номер предыдущего .End(xlUp)).Resize(, 6).Address(External:=True) On нет формул и есть и другое выпадающего списка макросом? функции значение. Например, обе таблицы достаточноВ качестве аргумента нельзя ячеек: 2, 3 и нас важно, чтобы
Причина: Стиль ячейки по умолчанию ссылки (A1), которая ссылается на столбцы в виде буквы и обращается к строкам в виде чисел, был изменен.
Скопируйте образец данных изВвод формулы массива форматировании столбцов см. закрыта
же платежи, просто: Я Вам вообще-то
-
столбца, чтобы потом Error Resume Next не надо их решение. Я хотелber$erk
-
Функция СТОЛБЕЦ должна вычесть широкие. применять ссылки наФункция СТОЛБЕЦ вернула номер т. д.
-
эта статья была следующей таблицы и Начиная с ячейки формулы,
по ссылкам вАлексей2018 содержат другие поля. уже ответил выше можно было «протянуть»
support.office.com
Функция СТОЛБЕЦ в Excel и полезные примеры ее использования
n = Application.WorksheetFunction.Match(Sheets(«Счет»).Range(«C1»).Value, там. База скрыта по значению из: такое чувство, что 1 из номераНапомним, что ВПР ищет несколько областей. крайнего левого столбцаФункция СТОЛБЕЦ в Excel
Описание и синтаксис функции
вам полезна. Просим вставьте их в выделите диапазон, который разделе: Добрый вечер! Суть
Столбец «Номер заказа»Трудно самому F по ячейкам. .Rows(1), 0) If и закрыта.
списка определить номер можно и без
колонки C. Поэтому заданное значение в
(А) в указанном возвращает номер столбца
вас уделить пару ячейку A1 нового
должен содержать формулуСм. также такова:
в этих двух на K поменять?
В примере описал Err <> 0JayBhagavan колонки в базе макроса обойтись, но функция ВПР возвращает крайнем левом столбцеФормула с использованием функции диапазоне. Если выделить на листе по
секунд и сообщить, листа Excel. Чтобы массива. Нажмите клавишу.на листе 1,
таблицах позволяет идентифицировать200?’200px’:»+(this.scrollHeight+5)+’px’);»>=ВПР($A3;’исходные данные’!$A$5:$K$14;ПОИСКПОЗ(C$2;’исходные данные’!$A$4:$K$4;);) подробно. Данных в Then Exit Sub: Попробуйте воспользоваться Find. и использовать в вопрос задан так, значение не из диапазона и возвращает выдает массив последовательных формулу в строке заданным условиям. Синтаксис помогла ли она
отобразить результаты формул, F2, а затем
Возвращает номер столбца для в столбце А, платёж, т. е.
Rustem листах гораздо больше, On Error GoTo
MsgBox Sheets(«База»).Rows(1).Find(what:=Range(«Счет!C1»)).Column
Полезные примеры функции СТОЛБЕЦ в Excel
функции VLOOKUP. Но что без поллитры третьего, а из значение из другого чисел. Эту особенность
формул и нажать элементарный: всего один вам, с помощью выделите их и
нажмите сочетание клавиш указанной ссылка на в строках 1-3, одно значение в: В В3: для примера ужал. 0 End With
Николай Малыгин при попытке в не обойтись. Приложите второго столбца девятой столбца в той можно применить для кнопку F9, то аргумент. Но с кнопок внизу страницы. нажмите клавишу F2, CTRL + SHIFT ячейку. Например, формула указаны фамилии разных таблицах –200?’200px’:»+(this.scrollHeight+5)+’px’);»>=ВПР($A3;’исходные данные’!$A$5:$K$14;МЕСЯЦ(B$2&0)-1;0)Заранее благодарю за
With Sheets(«Счет») With: Уже хорошо, спасибо. формуле использовать вместо пример чтоли строки. же строке. Говоря решения других задач. программа выдаст все ее помощью можно Для удобства также а затем — + ВВОД.
=СТОЛБЕЦ(D10)на листе 2, это один иChe79 помощь, .Range(.Range(«A2»), .Range(«A65536»).End(xlUp)).Offset(, 2) Но как ввести номера колонки значениеJayBhagavan
Теперь проиллюстрируем, как работает техническим языком, ВПРНапример, рассчитаем значение выражения номера столбцов заданного эффективно решать разнообразные приводим ссылку на клавишу ВВОД. При
Примечание:возвращает значение 4, в строке 1, тот же платёж.: Serge_007,
С уважением к .Value = «=VLOOKUP(A2,» это значение переменной переменной ничего не: ber$erk, прав насчёт многоразовое копирование без находит в базе 1 + ½
диапазона. задачи. оригинал (на английском необходимости измените ширину В Excel Online поскольку столбец D столбцах А-С, те Требуется вписать формулу,вторую формулу из форуму & iAddress$ & в формулу в
получилось. примера. Николай Малыгин, необходимости в ручной
exceltable.com
Номер столбца по значению ячейки
данных уникальный идентификатор + 1/3. ИспользуемНо при нажатии кнопкиФункция с параметром: = языке) . столбцов, чтобы видеть невозможно создать формулы является четвертым по же самые фамилии которая при перетаскивании Вашего первого ответа
PS Решение другими «,» & n макросе в качествеJayBhagavan без файла на правке. Сначала в и извлекает связанную формулу: =СУММПРОИЗВ(1/СТОЛБЕЦ(A2:C2)).
Enter в ячейке СТОЛБЕЦ (С3) возвращаетРешение: все данные. массива.
счету.Мне нужно, чтобы вниз и вправо, заметил позже… функциями (не ВПР), & «,0)» .Value номера столбца?. Что
: пальцах объяснять затруднительно. формуле закрепим ссылки с ним информацию.
Выполним более сложные манипуляции с формулой отобразится значение 3, т.к.
Снять выделение стиль ссылокФормулаЕсли аргумент ссылается наСТОЛБЕЦ([ссылка])
в столбце В, т. е. безеще раз благодарю! естественно, допускается. = .Value .Replace то ни фига=ВПР($A2;База!$1:$1048576;ПОИСКПОЗ($C$1;База!$1:$1;0);0)Максим Зеленский на таблицу (кнопкаАргументы функции ВПР: искомое с числовым рядом: только номер крайнего (C) является третьим R1C1 в настройках
Описание диапазон ячеек, ааргумент функции СТОЛБЕЦ описаны
на листе 1, изменения самой формулы
китинSerge_007
What:=»#N/A», Replacement:=0 End не выходитв яч. C2: если вып.список содержит F4). Скопируем формулу значение, массив данных найдем сумму значений левого столбца. по счету.
Excel.Результат функция ниже.
были указан номер руками, позволит заполнить: наверное можно и: With End WithJayBhagavan
и протянуть вниз. названия «колонок», то ВПР поперек столбцов
для анализа, номер от 1 доЧтобы на листе появилисьАргумент «ссылка» необязательный. ЭтоРазница между стили ссылок=СТОЛБЕЦ()СТОЛБЕЦСсылка столбца, содержащий фамилию,
ячейки соответствующими значениями. так:200?’200px’:»+(this.scrollHeight+5)+’px’);»>=ВПР($A3;’исходные данные’!$A$5:$F$14;СТОЛБЕЦ();) End Sub: .Value = «=VLOOKUP(A2,»Николай Малыгин
определить номер по – номер меняется столбца, интервальный просмотр 1/n^3, где n
номера всех столбцов может быть ячейка A1 и R1C1Столбец, в котором отображаетсяне введена как
— необязательный аргумент. Ячейка т.е. с листа Ну т. е.200?’200px’:»+(this.scrollHeight+5)+’px’);»>=ИНДЕКС(‘исходные данные’!$A$4:$K$14;ПОИСКПОЗ(Подстановка!$A3;’исходные данные’!$A$4:$A$14;0);ПОИСКПОЗ(Подстановка!C$2;’исходные данные’!$A$4:$K$4;0))Код200?’200px’:»+(this.scrollHeight+5)+’px’);»>=ВПР($A3;’исходные данные’!$A$5:$F$14;ПОИСКПОЗ(C$2;’исходные данные’!$A$4:$F$4;);)Che79 & iAddress$ &: А макросом возможно? порядку можно без автоматически (функция СТОЛБЕЦ (точный или приблизительный = 6. Формула диапазона, который является или диапазон, дляВ меню формула формула горизонтального массива, или диапазон ячеек, 2. нужно заполнить нужныеChe79
planetaexcel.ru
ВПР с «плавающим» номером столбца данных
Che79: Всем добрый день.
«, » &V макроса, при помощи
сдвигается вместе с поиск). Сам номер расчета: =СУММПРОИЗВ(1/СТОЛБЕЦ(A9:F9)^3). аргументом функции СТОЛБЕЦ, которого нужно получить
Excel3 то функция для которого требуетсяНадеюсь, что все поля именно для: все варианты рабочие,: Serge_007, спасибо заПрошу помощи в Sheets(«База»).Rows(1).Find(what:=Range(«Счет!C1»)).Column & «
: как вариант вместо функции =ПОИСКПОЗ(выпавшая_колонка;список_колонок;0). другими ссылками). можно задать с
Чаще всего данную функцию нужно использовать формулу
номер столбца.выберите пункт
=СТОЛБЕЦ(B6)СТОЛБЕЦ возвратить номер столбца.
понятно. Также можете требуемой транзакции. спасибо большое всем
оперативную помощь!
одной задаче с ,0)» вашей формулы прописать
Наверное, список_колонок -Достаточно элегантное решение, позволяющее помощью такой формулы: используют совместно с массива. Выделяем такоеАргумент – ссылка на
ПараметрыНомер столбца ссылки «B6″возвращает номер самогоЕсли аргумент «ссылка» не обратиться к примеру.Однако при использовании
за помощь!!Не учел я использованием ВПР.
Николай Малыгин новую. и судя
это диапазон первой
править формулы в =ВПР(8;A1:C10;СТОЛБЕЦ(C1);ИСТИНА).
функцией ВПР. Задача
количество ячеек, сколько ячейку:
.2 левого столбца.
указан или ссылается
Che79 функции СТОЛБЕЦ() ячейкаChudson одну вещь -
В книге 2: Отлично. Про кавычки по коду придется строки таблицы на
автоматическом режиме.При работе с широкими первой функции –
элементов входит в
Функция выдала номер колонкиВ разделеПримечание:
Если аргумент ссылки опущен, на диапазон ячеек,: Здравствуйте. Так нужно? выдает #ссылка: Serge_007, Доброго времени на листе исходных листа — один я забыл. Всем его (код) повесить первом листе.Николай Малыгин таблицами можно просто указать номер столбца горизонтальный диапазон. Вводим для этой ячейки.РазработкаМы стараемся как то предполагается, что а функция=ПОИСКПОЗ(A1;Лист2!$A$1:$C$1;)Использование второго предложенного суток! данных есть скрытые с исходными данными, спасибо на событие изменения
а выпавшая_колонка -: Добрый день. Подскажите копировать функцию ВПР
возвращаемых значений. Такое формулу и нажимаемАргумент опущен:выберите пункт можно оперативнее обеспечивать это ссылка на
СТОЛБЕЦАлексей2018 варианта ПОИСКПОЗ неПодскажите, пожалуйста. ячейки, которые нельзя
excelworld.ru
Вычисление номера столбца по значению в ячейке (Формулы/Formulas)
второй лист, кудаМаксим Зеленский ячейки С1 чтобы
это значение ячейки пожалуйста. Есть таблица по горизонтали. В совмещение удобно при
сочетание кнопок CtrlФункция вернула номер столбца,Общие вас актуальными справочными
ячейку, в которойвведена как формула: Да, спасибо большое! реализуем, как мнеСтолкнулся с похожей удалить. Пример скорректировал… нужно данные перенести.
: Только лучше эту автоматом отрабатывал. с выпадающим списком
с колонками. В этом случае номера работе с огромными
+ Shift + в котором находится.
excelworld.ru
.
Группа: Пользователи Ранг: Новичок Сообщений: 18
Замечаний: |
Добрый вечер! Суть такова:
на листе 1, в столбце А, в строках 1-3, указаны фамилии
на листе 2, в строке 1, столбцах А-С, те же самые фамилии
Мне нужно, чтобы в столбце В, на листе 1, были указан номер столбца, содержащий фамилию, т.е. с листа 2.
Надеюсь, что все понятно. Также можете обратиться к примеру.
К сообщению приложен файл:
__.xls
(26.0 Kb)