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

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

Сообщений: 14181
Регистрация: 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

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

Сообщений: 14181
Регистрация: 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)

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

MS Excel columns have a pattern like A, B, C, …, Z, AA, AB, AC, …., AZ, BA, BB, … ZZ, AAA, AAB ….. etc. In other words, column 1 is named “A”, column 2 as “B”, and column 27 as “AA”.
Given a column number, find its corresponding Excel column name. The following are more examples.

Input          Output
 26             Z
 51             AY
 52             AZ
 80             CB
 676            YZ
 702            ZZ
 705            AAC

Thanks to Mrigank Dembla for suggesting the below solution in a comment.
Suppose we have a number n, let’s say 28. so corresponding to it we need to print the column name. We need to take the remainder with 26. 

If the remainder with 26 comes out to be 0 (meaning 26, 52, and so on) then we put ‘Z’ in the output string and new n becomes n/26 -1 because here we are considering 26 to be ‘Z’ while in actuality it’s 25th with respect to ‘A’.

Similarly, if the remainder comes out to be non-zero. (like 1, 2, 3, and so on) then we need to just insert the char accordingly in the string and do n = n/26.

Finally, we reverse the string and print. 

Example: 
n = 700
The remainder (n%26) is 24. So we put ‘X’ in the output string and n becomes n/26 which is 26. 
Remainder (26%26) is 0. So we put ‘Z’ in the output string and n becomes n/26 -1 which is 0.

Following is the implementation of the above approach.

C++

#include <bits/stdc++.h>

#define MAX 50

using namespace std;

void printString(int n)

{

    char str[MAX];

    int i = 0;

    while (n > 0) {

        int rem = n % 26;

        if (rem == 0) {

            str[i++] = 'Z';

            n = (n / 26) - 1;

        }

        else

        {

            str[i++] = (rem - 1) + 'A';

            n = n / 26;

        }

    }

    str[i] = '';

    reverse(str, str + strlen(str));

    cout << str << endl;

    return;

}

int main()

{

    printString(26);

    printString(51);

    printString(52);

    printString(80);

    printString(676);

    printString(702);

    printString(705);

    return 0;

}

Java

public class ExcelColumnTitle {

    private static void printString(int columnNumber)

    {

        StringBuilder columnName = new StringBuilder();

        while (columnNumber > 0) {

            int rem = columnNumber % 26;

            if (rem == 0) {

                columnName.append("Z");

                columnNumber = (columnNumber / 26) - 1;

            }

            else

            {

                columnName.append((char)((rem - 1) + 'A'));

                columnNumber = columnNumber / 26;

            }

        }

        System.out.println(columnName.reverse());

    }

    public static void main(String[] args)

    {

        printString(26);

        printString(51);

        printString(52);

        printString(80);

        printString(676);

        printString(702);

        printString(705);

    }

}

Python

MAX = 50

def printString(n):

    string = [""] * MAX

    i = 0

    while n > 0:

        rem = n % 26

        if rem == 0:

            string[i] = 'Z'

            i += 1

            n = (n / 26) - 1

        else:

            string[i] = chr((rem - 1) + ord('A'))

            i += 1

            n = n / 26

    string[i] = ''

    string = string[::-1]

    print "".join(string)

printString(26)

printString(51)

printString(52)

printString(80)

printString(676)

printString(702)

printString(705)

C#

using System;

class GFG{

static String reverse(String input)

{

    char[] reversedString = input.ToCharArray();

    Array.Reverse(reversedString);

    return new String(reversedString);

}

private static void printString(int columnNumber)

{

    String columnName = "";

    while (columnNumber > 0)

    {

        int rem = columnNumber % 26;

        if (rem == 0)

        {

            columnName += "Z";

            columnNumber = (columnNumber / 26) - 1;

        }

        else

        {

            columnName += (char)((rem - 1) + 'A');

            columnNumber = columnNumber / 26;

        }

    }

    columnName = reverse(columnName);

    Console.WriteLine(columnName.ToString());

}

public static void Main(String[] args)

{

    printString(26);

    printString(51);

    printString(52);

    printString(80);

    printString(676);

    printString(702);

    printString(705);

}

}

Javascript

<script>

function printString(columnNumber)

{

        let columnName = [];

        while (columnNumber > 0) {

            let rem = columnNumber % 26;

            if (rem == 0) {

                columnName.push("Z");

                columnNumber = Math.floor(columnNumber / 26) - 1;

            }

            else

            {

                columnName.push(String.fromCharCode((rem - 1) + 'A'.charCodeAt(0)));

                columnNumber = Math.floor(columnNumber / 26);

            }

        }

        document.write(columnName.reverse().join("")+"<br>");

}

printString(26);

printString(51);

printString(52);

printString(80);

printString(676);

printString(702);

printString(705);

</script>

Output

Z
AY
AZ
CB
YZ
ZZ
AAC

Time Complexity: O(log26n), as we are using a loop and in each traversal, we decrement by floor division of 26.

Auxiliary Space: O(50), as we are using extra space for storing the result.
Method 2 
The problem is similar to converting a decimal number to its binary representation but instead of a binary base system where we have two digits only 0 and 1, here we have 26 characters from A-Z.
So, we are dealing with base 26 instead of base binary. 
That’s not where the fun ends, we don’t have zero in this number system, as A represents 1, B represents 2 and so on Z represents 26. 
To make the problem easily understandable, we approach the problem in two steps:

  1. Convert the number to base 26 representation, considering we have 0 also in the system.
  2. Change the representation to the one without having 0 in its system.

HOW? Here is an example

Step 1: 
Consider we have number 676, How to get its representation in the base 26 system? In the same way, we do for a binary system, Instead of division and remainder by 2, we do division and remainder by 26.

Base 26 representation of 676 is : 100 

Step2
But Hey, we can’t have zero in our representation. Right? Because it’s not part of our number system. How do we get rid of zero? Well it’s simple, but before doing that let’s remind one simple math trick:

Subtraction: 
5000 - 9, How do you subtract 9 from 0 ? You borrow
from next significant bit, right.  
  • In a decimal number system to deal with zero, we borrow 10 and subtract 1 from the next significant.
  • In the Base 26 Number System to deal with zero, we borrow 26 and subtract 1 from the next significant bit.

So Convert 10026 to a number system that does not have ‘0’, we get (25 26)26 
Symbolic representation of the same is: YZ 

Here is the implementation of the same:

C++

#include <iostream>

using namespace std;

void printString(int n)

{

    int arr[10000];

    int i = 0;

    while (n) {

        arr[i] = n % 26;

        n = n / 26;

        i++;

    }

    for (int j = 0; j < i - 1; j++) {

        if (arr[j] <= 0) {

            arr[j] += 26;

            arr[j + 1] = arr[j + 1] - 1;

        }

    }

    for (int j = i; j >= 0; j--) {

        if (arr[j] > 0)

            cout << char('A' + arr[j] - 1);

    }

    cout << endl;

}

int main()

{

    printString(26);

    printString(51);

    printString(52);

    printString(80);

    printString(676);

    printString(702);

    printString(705);

    return 0;

}

Java

import java.util.*;

class GFG{

static void printString(int n)

{

    int []arr = new int[10000];

    int i = 0;

    while (n > 0)

    {

        arr[i] = n % 26;

        n = n / 26;

        i++;

    }

    for(int j = 0; j < i - 1; j++)

    {

        if (arr[j] <= 0)

        {

            arr[j] += 26;

            arr[j + 1] = arr[j + 1] - 1;

        }

    }

    for(int j = i; j >= 0; j--)

    {

        if (arr[j] > 0)

            System.out.print(

                (char)('A' + arr[j] - 1));

    }

    System.out.println();

}

public static void main(String[] args)

{

    printString(26);

    printString(51);

    printString(52);

    printString(80);

    printString(676);

    printString(702);

    printString(705);

}

}

Python3

def printString(n):

    arr = [0] * 10000

    i = 0

    while (n > 0):

        arr[i] = n % 26

        n = int(n // 26)

        i += 1

    for j in range(0, i - 1):

        if (arr[j] <= 0):

            arr[j] += 26

            arr[j + 1] = arr[j + 1] - 1

    for j in range(i, -1, -1):

        if (arr[j] > 0):

            print(chr(ord('A') +

                  (arr[j] - 1)), end = "");

    print();

if __name__ == '__main__':

    printString(26);

    printString(51);

    printString(52);

    printString(80);

    printString(676);

    printString(702);

    printString(705);

C#

using System;

class GFG{

static void printString(int n)

{

  int []arr = new int[10000];

  int i = 0;

  while (n > 0)

  {

    arr[i] = n % 26;

    n = n / 26;

    i++;

  }

  for(int j = 0; j < i - 1; j++)

  {

    if (arr[j] <= 0)

    {

      arr[j] += 26;

      arr[j + 1] = arr[j + 1] - 1;

    }

  }

  for(int j = i; j >= 0; j--)

  {

    if (arr[j] > 0)

      Console.Write((char)('A' +

                     arr[j] - 1));

  }

  Console.WriteLine();

}

public static void Main(String[] args)

{

  printString(26);

  printString(51);

  printString(52);

  printString(80);

  printString(676);

  printString(702);

  printString(705);

}

}

Javascript

<script>

function printString(n){

    let arr = [];

    let i = 0;

    while (n) {

        arr[i] = n % 26;

        n = Math.floor(n / 26);

        i++;

    }

    for (let j = 0; j < i - 1; j++) {

        if (arr[j] <= 0) {

            arr[j] += 26;

            arr[j + 1] = arr[j + 1] - 1;

        }

    }

    let ans = '';

    for (let j = i; j >= 0; j--) {

        if (arr[j] > 0)

            ans += String.fromCharCode(65 + arr[j] - 1);

    }

    document.write(ans + "<br>");

}

printString(26);

printString(51);

printString(52);

printString(80);

printString(676);

printString(702);

printString(705);

</script>

Output

Z
AY
AZ
CB
YZ
ZZ
AAC

Time Complexity: O(log26n), as we are using a loop and in each traversal, we decrement by floor division of 26.

Auxiliary Space: O(10000), as we are using extra space for the array.

Method 3:

We can use a recursive function which definitely reduces the time and  increase the efficiency:

Alphabets are in sequential order like: ‘ABCDEFGHIJKLMNOPQRSTUVWXYZ’. You have experienced while using excel when you see columns and rows numbering are done in  Alphabetical ways.

Here’s How I purposefully think about the logic of how it is arranged.

(In Mathematical  terms, [a , b ] means from ‘a’ to ‘b’).

[1,26] = [A,Z] (Understand by ‘1’ stands for ‘A’ and ’26” stands for “Z”). For [27,52] ,it will be like [AA,AZ], For [57,78] it will be [BA,BZ]

Logic is to append an Alphabet sequentially whenever it ends up numbering at 26.

For example, if the number is ’27’ which is greater than  ’26’, then we simply need to divide by 26, and we get the remainder as 1, We see “1” as “A” and can be recursively done.

we will be using python for this.

Algorithm is:

1. Take an array and Sort the letters from A to Z . (You can also use the import string and string function to get “A to Z” in uppercase.)

2. If the number is less than or equal to ’26’, simply get the letter from the array and print it.

3. If it is greater than 26, use the Quotient  Remainder rule, if the remainder is zero, there are 2 possible ways, if the quotient is “1”, simply hash out the letter from the index [r-1]( ‘r’ is remainder), else call out the function from the num =(q-1) and append at the front to the letter indexing [r-1].

4. If the remainder is not equal to “0”, call the function for the num = (q) and append at the front to the letter indexing [r-1].

The code concerned with this is:

C++

#include<bits/stdc++.h>

using namespace std;

string alpha = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";

string num_hash(int num){

    if(num < 26){

      string res = "";

      res += alpha[num-1];

      return res;

    }

    else{

      int q = (num / 26);

      int r = num % 26;

      string res = "";

      if(r == 0){

        if(q == 1){

          res.append(1,alpha[(26 + r-1)%26]);

        }

        else{

          res = num_hash(q-1);

          res.append(1,alpha[(26 + r-1)%26]);

        }

      }

      else{

        res = num_hash(q);

        res.append(1,alpha[(26 + r-1)%26]);

      }

      return res;

    }

}

int main () {

    cout<< num_hash(26) << endl;

    cout<< num_hash(51) << endl;

    cout<< num_hash(52) << endl;

    cout<< num_hash(80) << endl;

    cout<< num_hash(676) << endl;

    cout<< num_hash(702) << endl;

    cout<< num_hash(705) << endl;

    return 0;

}

Java

import java.io.*;

class GFG

{

  static String alpha = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";

  static String num_hash(int num){

    if(num < 26)

      return Character.toString(alpha.charAt(num-1));

    else{

      int q = Math.floorDiv(num, 26);

      int r = num % 26;

      if(r == 0){

        if(q == 1){

          return Character.toString(alpha.charAt((26 + r-1)%26));

        }

        else

          return num_hash(q-1) + alpha.charAt((26 + r-1)%26);

      }

      else

        return num_hash(q) + alpha.charAt((26 + r-1)%26);

    }

  }

  public static void main (String[] args) {

    System.out.println(num_hash(26));

    System.out.println(num_hash(51));

    System.out.println(num_hash(52));

    System.out.println(num_hash(80));

    System.out.println(num_hash(676));

    System.out.println(num_hash(702));

    System.out.println(num_hash(705));

  }

}

Python3

alpha = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'

def num_hash(num):

    if num < 26:

        return alpha[num-1]

    else:

        q, r = num//26, num % 26

        if r == 0:

            if q == 1:

                return alpha[r-1]

            else:

                return num_hash(q-1) + alpha[r-1]

        else:

            return num_hash(q) + alpha[r-1]

print(num_hash(26))

print(num_hash(51))

print(num_hash(52))

print(num_hash(80))

print(num_hash(676))

print(num_hash(702))

print(num_hash(705))

C#

using System;

class GFG

{

static string alpha = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";

static string num_hash(int num){

    if(num < 26)

    return Char.ToString(alpha[num-1]);

    else{

    int q = num/26;

    int r = num % 26;

    if(r == 0){

        if(q == 1){

        return Char.ToString(alpha[(26 + r-1)%26]);

        }

        else

        return num_hash(q-1) + alpha[(26 + r-1)%26];

    }

    else

        return num_hash(q) + alpha[(26 + r-1)%26];

    }

}

public static void Main(String[] args) {

    Console.WriteLine(num_hash(26));

    Console.WriteLine(num_hash(51));

    Console.WriteLine(num_hash(52));

    Console.WriteLine(num_hash(80));

    Console.WriteLine(num_hash(676));

    Console.WriteLine(num_hash(702));

    Console.WriteLine(num_hash(705));

}

}

Javascript

<script>

let alpha = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'

function num_hash(num)

{

    if(num < 26)

        return alpha[num-1]

    else{

        let q = Math.floor(num/26),r = num % 26

        if(r == 0){

            if(q == 1)

                return alpha[(26 + r-1)]

            else

                return num_hash(q-1) + alpha[(26 + r-1)]

        }

        else

            return num_hash(q) + alpha[r-1]

    }

}

document.write(num_hash(26),"</br>")

document.write(num_hash(51),"</br>")

document.write(num_hash(52),"</br>")

document.write(num_hash(80),"</br>")

document.write(num_hash(676),"</br>")

document.write(num_hash(702),"</br>")

document.write(num_hash(705),"</br>")

</script>

Output

Z
AY
AZ
CB
YZ
ZZ
AAC

Time Complexity: O(log26n), as we are using recursion and in each recursive call, we decrement by floor division of 26.

Auxiliary Space: O(1), as we are not using any extra space.
Related Article : 
Find the Excel column number from the column title
This article is contributed by Kartik. Please write comments if you find anything incorrect, or if you want to share more information about the topic discussed above.

При создании таблицы 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).

Функция СТОЛБЕЦ в 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. Добавление через контекстное меню ячейки
  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

СТОЛБЕЦ (функция СТОЛБЕЦ)

​Смотрите также​ кажется, так как​ проблемой, что и​​Задача та же…Не​​Никак не могу​ процедуру повесить на​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), которая ссылается на столбцы в виде буквы и обращается к строкам в виде чисел, был изменен.

​Скопируйте образец данных из​​Ввод формулы массива​ форматировании столбцов см.​ закрыта​

​ же платежи, просто​: Я Вам вообще-то​

Стили ссылок на ячейки A1 и R1C1

  1. ​ столбца, чтобы потом​​ Error Resume Next​​ не надо их​​ решение. Я хотел​​ber$erk​

  2. ​Функция СТОЛБЕЦ должна вычесть​​ широкие.​​ применять ссылки на​​Функция СТОЛБЕЦ вернула номер​ Кнопка ​ т. д.​

  3. ​ эта статья была​​ следующей таблицы и​​    Начиная с ячейки формулы,​

    ​ по ссылкам в​Алексей2018​ содержат другие поля.​ уже ответил выше​ можно было «протянуть»​

support.office.com

Функция СТОЛБЕЦ в Excel и полезные примеры ее использования

​ n = Application.WorksheetFunction.Match(Sheets(«Счет»).Range(«C1»).Value,​ там. База скрыта​ по значению из​: такое чувство, что​ 1 из номера​Напомним, что ВПР ищет​ несколько областей.​ крайнего левого столбца​Функция СТОЛБЕЦ в Excel​

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

​ вам полезна. Просим​ вставьте их в​ выделите диапазон, который​ разделе​: Добрый вечер! Суть​

​ Столбец «Номер заказа»​Трудно самому F​ по ячейкам.​ .Rows(1), 0) If​ и закрыта.​

​ списка определить номер​ можно и без​

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

​ колонки C. Поэтому​ заданное значение в​

​​

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

​ (А) в указанном​ возвращает номер столбца​

​ вас уделить пару​ ячейку A1 нового​

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

​ должен содержать формулу​См. также​ такова:​

​ в этих двух​ на K поменять?​

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

​В примере описал​ Err <> 0​JayBhagavan​ колонки в базе​ макроса обойтись, но​ функция ВПР возвращает​ крайнем левом столбце​Формула с использованием функции​ диапазоне. Если выделить​ на листе по​

В массиве.

​ секунд и сообщить,​ листа 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 With​JayBhagavan​

​ и протянуть вниз.​​ названия «колонок», то​ ВПР поперек столбцов​

​ для анализа, номер​​ от 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).​ аргументом функции СТОЛБЕЦ,​ которого нужно получить​
​Excel​3​ то функция​ для которого требуется​Надеюсь, что все​ поля именно для​: все варианты рабочие,​: 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

​.​


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

СТОЛБЕЦ(

)

, английский вариант 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))

Понравилась статья? Поделить с друзьями:
  • Excel формула на этом листе содержит одну или несколько недопустимых ссылок
  • Excel формула на одну ячейку вправо
  • Excel формула на несколько строк
  • Excel формула на количество дней включительно
  • Excel формула на заливку ячейки