Excel как в формуле указать номер столбца

Функция СТОЛБЕЦ в Excel возвращает номер столбца на листе по заданным условиям. Синтаксис элементарный: всего один аргумент. Но с ее помощью можно эффективно решать разнообразные задачи.

Описание и синтаксис функции

Функция с параметром: = СТОЛБЕЦ (С3) возвращает значение 3, т.к. (C) является третьим по счету.

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

Аргумент – ссылка на ячейку:

Ссылка на ячейку.

Функция выдала номер колонки для этой ячейки.

Аргумент опущен:

Аргумент опущен.

Функция вернула номер столбца, в котором находится.

Аргумент – вертикальный диапазон ячеек:

Вертикальный диапазон ячеек.

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

Аргумент – горизонтальный диапазон ячеек:

Горизонтальный диапазон ячеек.

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

В массиве.

Но при нажатии кнопки Enter в ячейке с формулой отобразится только номер крайнего левого столбца.

Чтобы на листе появились номера всех столбцов диапазона, который является аргументом функции СТОЛБЕЦ, нужно использовать формулу массива. Выделяем такое количество ячеек, сколько элементов входит в горизонтальный диапазон. Вводим формулу и нажимаем сочетание кнопок Ctrl + Shift + Enter.

Аргумент – ссылка на горизонтальный массив:

Ссылка на горизонтальный массив.

Формула вернула номера столбцов в виде горизонтального массива.

В качестве аргумента нельзя применять ссылки на несколько областей.



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

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

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

СУММПРОИЗВ.

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

Формула расчета.

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

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

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

ВПР.

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

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

Пример.

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

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

Автоматически.

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

 

Простите, не могу точно сформулировать хештеги задачи, потому не получается воспользоваться поиском

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

Банальный пример: просуммировать значения по позиции «Москва» (думаю, что для данного примера приаттаченный файл с примером не потребуется  :) )

Москва 1
Лондон 2
Лиссабон 3
Москва 4
Москва 5 «=СУММЕСЛИ(A1:A4;»Москва»;B1:B4)»

Предположим, что у меня нет никакой возможности использовать «A1:A4», но я знаю, что нужное мне условие находится в столбце №1 (или что суммировать мне надо данные из столбца №2), то как мне нужно изменить формулу?

Заранее спасибо за помощь, ответ или ссылку на тему, где это уже обсуждалось.

 

skais675

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

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

 

artyrH

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

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

в файле

Прикрепленные файлы

  • га1.xlsx (9.17 КБ)

 

Все гениальное просто  :D
Работает! (хотя я пока не уложила логику в свою голову  :oops: )

Спасибо огромное.

 

artyrH

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

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

ИНДЕКС($A$1:$I$5;;K1) . как объяснить.. диапазон $A$1:$I$5. строку не указываем(пропускаем), столбец известен. или пишем вместо K1, например, 4. или, как щас , формулу оставляем и пишем в ячейку K1 — 4. $A$1:$a$5 первый, грубо говоря, столбец. $b$1:$b$5 -второй. $d$1:$d$5 — четвертый. с четвертого и будут браться данные. смотрите справку про индекс.

Изменено: artyrH30.11.2018 20:59:19

 

Мотя

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

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

#6

02.12.2018 02:22:39

Цитата
artyrH написал:
формулу оставляем и пишем в ячейку K1 — 4. $A$1:$a$5 первый, грубо говоря, столбец.

Это уж слишком «Притянуто за уши»!  ;)  

 

artyrH

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

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

Мотя, здравствуйте. с комментариями и объяснениями у меня не очень. могу и в терминах путаться. потому и написал «грубо говоря». А Вы наверное смутились :oops:  

 

Мотя

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

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

#8

02.12.2018 14:22:23

Цитата
artyrH написал:
с комментариями и объяснениями у меня не очень

Однозначно!
Если что-то понимаешь ОЧЕНЬ ХОРОШО, стало быть, сможешь и «бревну» объяснить!  :D
Ваша формула не готова к использованию.
Алгоритм формулы — не «продуман», к сожалению!

Изменено: Мотя02.12.2018 14:57:47

 

artyrH

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

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

#9

02.12.2018 17:38:45

Цитата
Мотя написал:
Алгоритм формулы — не «продуман»

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

 

Мотя

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

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

#10

02.12.2018 21:37:35

Уважаемый

artyrH

!
1. Непонятно — для чего Автору Темы нужен «Геморрой» с её проблемой?
   1.1. Заказала бы макрос в разделе «Работа» под реальную структуру своего файла — и «Дело в шляпе»!
2. Ни к каким формулам мне пояснения не нужны! Если я формулу не понимаю:
   2.1. либо я — непроходимая тупица: иду лесом!  ;)
   2.2. либо формула — непроходимая «заумь»: не заслуживает моего внимания!  :D
3. Выставить: из Темы / В неприглядном свете?
   3.1. Из Темы — я не закрываю Темы,
   3.2. В неприглядном свете — мыслей таких НЕ БЫЛО/НЕТ/НЕ БУДЕТ!!!

Изменено: Мотя03.12.2018 09:36:57

Excel для Microsoft 365 Excel для Microsoft 365 для Mac Excel для Интернета Еще…Меньше

Windows: 2208 (сборка 15601)
Mac: 16.65 (сборка 220911)
Веб: представлено 15 сентября 2022
г.
iOS: 2.65 (сборка 220905)
Android: 16.0.15629

Возвращает указанные столбцы из массива.  

Синтаксис

=ВЫБОРСТОЛБЦ(массив; номер_столбца1; [номер_столбца2];…)

Аргументы функции ВЫБОРСТОЛБЦ описаны ниже.

  • массив       Массив, содержащий столбцы, которые должны быть возвращены в новом массиве. Обязательный.

  • номер_столбца1       Первый возвращаемый столбец. Обязательный.

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

Ошибки

Excel возвращает ошибку #ЗНАЧ, если абсолютное значение любого из аргументов «номер_столбца» является нулем или превышает количество столбцов в массиве. 

Примеры

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

Возвращает массив столбцов 1, 3, 5 и снова 1 из массива в диапазоне A2:E7.

Данные

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

Формулы

=ВЫБОРСТОЛБЦ(A2:E7,1,3,5,1)

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

Данные

1

2

13

14

3

4

15

16

5

6

17

18

7

8

19

20

9

10

21

22

11

12

23

24

Формулы

=ВЫБОРСТОЛБЦ(A2:D7;3;4)

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

Данные

1

2

13

14

3

4

15

16

5

6

17

18

7

8

19

20

9

10

21

22

11

12

23

24

Формулы

=ВЫБОРСТОЛБЦ(A2:D7,-1,-2)

См. также

Использование формул массива: рекомендации и примеры

Функция ВСТОЛБИК

Функция ГСТОЛБИК

Функция CHOOSEROWS

Нужна дополнительная помощь?

Перейти к содержимому

Определение номера указанной строки или столбца.

Чтобы найти номер указанной строки или столбца можно посчитать столбцы или строки, можно посмотреть номер на координатной сетке «Эксель», но эти способы неприменимы в случаях, когда нужно использовать номер строки или столбца в формулах. Для использования номера столбца или строки в формуле созданы специальные функции, которые называются СТОЛБЕЦ() и СТРОКА(), эти функции находят номер столбца или строки соответственно.

Функция СТОЛБЕЦ() – присваивает ячейке номер столбца.

Функция СТРОКА() – присваивает ячейке номер строки.

Как использовать функции СТОЛБЕЦ() и СТРОКА().

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

Далее выбрать нужную функцию в мастере функций.

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

Нажать «ENTER» или «ОК».

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

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

lopuxi

Дата: Пятница, 18.12.2020, 15:31 |
Сообщение № 1

Группа: Проверенные

Ранг: Форумчанин

Сообщений: 142


Репутация:

0

±

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


Excel 2007, 2013

В общем ситуация такая.
Есть таблица, в ней есть значения расположенные по вертикали (ТВ, Радио, Пресса и т.д.) и по горизонтали в шапке (Январь, Февраль, Март и т.д.)

Я хочу использовав формулу =СУММЕСЛИМН для того что бы просуммировать в Январе все значения в таблице с «ТВ»

Но у меня получается проблема. Я могу получить номер колонки с месяцем. =ПОИСКПОЗ($B$1;Лист2!$1:$1;0) допустим находим февраль, колонка №3
Далее я бы мог использовать =ДВССЫЛ(«Лист2!R1C3;ЛОЖЬ), но мне то нужно выделить весь столбец и только столбец без указания строки… То есть использовать ДВССЫЛ только с «C3» без «R1», но тогда я получаю ошибку.

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

Код

=СУММЕСЛИМН(Лист2!$B:$B;Лист2!$A:$A;Лист1!A3)

Прикрепил файл, накидал в ней табличку.

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

____.xlsx
(11.4 Kb)


О_о …и так можно было?

Сообщение отредактировал lopuxiПятница, 18.12.2020, 16:22

 

Ответить

lopuxi

Дата: Пятница, 18.12.2020, 15:40 |
Сообщение № 2

Группа: Проверенные

Ранг: Форумчанин

Сообщений: 142


Репутация:

0

±

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


Excel 2007, 2013

так, стопэ…
у меня только что получилось в собственном же примере реализовать свою идею.
Однако в моей рабочей таблице так же возникает ошибка.

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

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

3114496.xlsx
(11.5 Kb)


О_о …и так можно было?

 

Ответить

Kostya_Ye

Дата: Пятница, 18.12.2020, 15:45 |
Сообщение № 3

Группа: Проверенные

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

Сообщений: 271


Репутация:

228

±

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


Excel 2016

lopuxi, и вам добрый день,
вот так ?

Код

=СУММЕСЛИМН(ИНДЕКС(Лист2!B:M;;ПОИСКПОЗ(Лист1!$B$1; Лист2!$B$1:$M$1; 0));Лист2!$A:$A;Лист1!A3)

 

Ответить

lopuxi

Дата: Пятница, 18.12.2020, 15:45 |
Сообщение № 4

Группа: Проверенные

Ранг: Форумчанин

Сообщений: 142


Репутация:

0

±

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


Excel 2007, 2013

Всем спасибо за внимание! :)
Было очень приятно пообщаться. booze
Ошибку нашел, оказывается у меня «C» была написана на русской раскладке. :bag:


О_о …и так можно было?

 

Ответить

Kostya_Ye

Дата: Пятница, 18.12.2020, 15:46 |
Сообщение № 5

Группа: Проверенные

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

Сообщений: 271


Репутация:

228

±

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


Excel 2016

lopuxi,
Вот как важно уметь правильно задать вопрос на форуме !! hands

 

Ответить

lopuxi

Дата: Пятница, 18.12.2020, 15:49 |
Сообщение № 6

Группа: Проверенные

Ранг: Форумчанин

Сообщений: 142


Репутация:

0

±

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


Excel 2007, 2013

СУММЕСЛИМН(ИНДЕКС(Лист2!B:M;;ПОИСКПОЗ(Лист1!$B$1; Лист2!$B$1:$M$1; 0));Лист2!$A:$A;Лист1!A3)

Да, наверно и так можно было, но через индекс не очень удобно. Я через поиск позиции реализовал все. Нахожу нужный мне месяц и определяю какая это колонка и через ДВССЫЛ задаю ее в формуле СУММЕСЛИМН. Так как ручками меняется только месяц, а искомое значение в первом столбце оно всегда статично, формула СУММЕСЛИМН спокойно ищет там то что нужно

Я в итоге сделал так:

Код

=СУММЕСЛИМН(ДВССЫЛ(«Лист2!C»&ПОИСКПОЗ($B$1;Лист2!$1:$1;0);ЛОЖЬ);Лист2!$A:$A;Лист1!A3)

Все работает)


О_о …и так можно было?

Сообщение отредактировал lopuxiПятница, 18.12.2020, 16:22

 

Ответить

китин

Дата: Пятница, 18.12.2020, 15:51 |
Сообщение № 7

Группа: Модераторы

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

Сообщений: 6973


Репутация:

1063

±

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


Excel 2007;2010;2016

lopuxi, — Прочитайте Правила форума
— Оформите все формулы тегами (в режиме правки поста выделите формулу и нажмите кнопку fx, пояснялка здесь)
137 сообщений 5 лет на форуме, а правила прочитать не удосужились


Не судите очень строго:я пытаюсь научиться
ЯД 41001877306852

 

Ответить

lopuxi

Дата: Пятница, 18.12.2020, 16:32 |
Сообщение № 8

Группа: Проверенные

Ранг: Форумчанин

Сообщений: 142


Репутация:

0

±

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


Excel 2007, 2013

Оформите все формулы тегами (в режиме правки поста выделите формулу и нажмите кнопку fx, пояснялка здесь)

Поправил
Зато я научился пользоваться смайлами :crazy:
они тут такие же как в моем детсве ICQ были ))
только они почему то не всегда отображаются… :suspect:


О_о …и так можно было?

Сообщение отредактировал lopuxiПятница, 18.12.2020, 16:34

 

Ответить

Pelena

Дата: Пятница, 18.12.2020, 18:34 |
Сообщение № 9

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

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

Сообщений: 18797


Репутация:

4284

±

Замечаний:
±


Excel 2016 & Mac Excel

Ещё вариант до кучи

Код

=СУММПРОИЗВ(Лист2!$B$2:$M$1000*(Лист2!$A$2:$A$1000=$A3)*(Лист2!$B$1:$M$1=$B$1))

не стоит увлекаться волатильной функцией ДВССЫЛ, которая пересчитывается при каждом чихе. С ИНДЕКС() будет быстрее


«Черт возьми, Холмс! Но как??!!»
Ю-money 41001765434816

 

Ответить

Понравилась статья? Поделить с друзьями:

А вот еще интересные статьи:

  • Excel как в формуле прибавить одну ячейку
  • Excel к сожалению нам не удалось найти файл возможно он был перемещен переименован или удален
  • Excel как в формуле поставить and
  • Excel к заводским настройкам
  • Excel как в формуле менять только строку

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии