2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему
 
 Индекс колонки как переменная или я познаю Excel
Сообщение14.08.2017, 21:43 
Аватара пользователя


29/01/15
298
ВШЭ, НМУ
Последние три года счастливо жил не прикасаясь к продукции корпорации Microsoft, но жизнь свела с необходимостью работать в Excel.

Итак, вопрос знатокам.

Как можно указать индекс (номер, если так не говорят) колонки в качестве некоторого переменного выражения, ещё и считав его частично из другой ячейки? Например, у меня в ячейке D2 (R2C4 в R1C1-нотации) листа 'first sheet' записано число 3, а я хочу сослаться на ячейку F5 (R5C6) листа 'second sheet' считав 3 из D2 и добавив ещё два, потому что F -- вторая справа колонка от D. Псевдокодом хочу исполнить что-то типа
Код:
='second sheet'!R5C('first sheet'!R2C4+2)


Кажется, это надо делать при помощи функции INDIRECT (ДВССЫЛ в русификации), но мне, во-первых, не удалось подружить её с ячейками на другом листе, во-вторых, всё равно остаётся момент с использованием простенького выражения для индекса колонки (хотим не просто считать её номер, а проделать с ним какое-то преобразованием, например, сложить с заранее подобранным числом).

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

 Профиль  
                  
 
 Re: Индекс колонки как переменная или я познаю Excel
Сообщение14.08.2017, 22:08 
Заслуженный участник


06/07/11
5627
кран.набрать.грамота
Hasek в сообщении #1240640 писал(а):
Мотивация всего этого: есть таблица с понедельной разбивкой некоторой информации, которая каждую неделю растёт вправо на одну колонку, хотелось бы избавиться от необходимости ручного обновления всех формул, а ограничиться заменой числа в одной ячейке.
Возможно, вам лучше ознакомиться с возможностями функций ВПР/ГПР/ПОИСКПОЗ? Я в похожих ситуациях использовал их.

-- 14.08.2017, 23:12 --

Hasek в сообщении #1240640 писал(а):
Последние три года счастливо жил не прикасаясь к продукции корпорации Microsoft, но жизнь свела с необходимостью работать в Excel.
Несмотря на то, что в целом я разделяю ваше мнение о качестве продукции вышеназванной корпорации, тут я должен заметить, что вот конкретно эксель - отличный продукт и сам по себе, и на две головы выше конкурентов.

 Профиль  
                  
 
 Re: Индекс колонки как переменная или я познаю Excel
Сообщение14.08.2017, 22:30 
Аватара пользователя


29/01/15
298
ВШЭ, НМУ
rockclimber в сообщении #1240646 писал(а):
Возможно, вам лучше ознакомиться с возможностями функций ВПР/ГПР/ПОИСКПОЗ? Я в похожих ситуациях использовал их.


Нет, это не совсем то. Перечисленные функции (можно ещё ИНДЕКС добавить) нужны для поиска по таблице и возвращения какого-то значения (самый простой пример с ВПР -- ищем где-то в левом столбце, возвращаем значение откуда-то справа из той же строчки), а мне нужно не это. Мне нужно
  • Считать значение номера колонки из ячейки при заданной вручную строке и обратиться к получившейся ячейке на другом листе. В встроенной справке по INDIRECT есть даже почти такой пример: представим, что в ячейке A5 записано 5, а в ячейке B5 -- 62. Тогда
    Код:
    =INDIRECT("B"&A5)

    даст нам 62, т.к. мы считываем 5 из A5 и обращаемся к B5. Печально, но у меня не получилось написать аналогичное работающее выражение, поменяв местами строку и столбец, и ссылаясь на другой лист.
  • В случае успеха предыдущего пункта, понять, как можно оформить некое арифметическое выражение внутри индекса. Например, как условное A5 представлять в виде A(3+2) и т.д. Вот таким наивным образом это не работает, по каким ключевым словам искать тоже не пойму.

 Профиль  
                  
 
 Re: Индекс колонки как переменная или я познаю Excel
Сообщение14.08.2017, 22:57 
Заслуженный участник
Аватара пользователя


18/01/13
12044
Казань
Не знаю, правильно ли я поняла, но я написала так:
=ДВССЫЛ(СЦЕПИТЬ("Темы!A";A1+2);ИСТИНА)
Причем в ячейке A1 было число 5. Результатом было содержимое ячейки A7 листа "Темы".

Если вам надо вычислять оба индекса, можно попробовать так:
=ДВССЫЛ(СЦЕПИТЬ("Темы!R";A1-1;"C";A2-4);ЛОЖЬ)

 Профиль  
                  
 
 Re: Индекс колонки как переменная или я познаю Excel
Сообщение14.08.2017, 23:04 
Заслуженный участник


06/07/11
5627
кран.набрать.грамота
До следующего понедельника я в отпуске, у меня с собой только телефон, а на нем нет экселя...
И я пока не понимаю, как вы от вашей задачи, описанной после фразы "мотивация всего этого", пришли к вашей проблеме (у меня есть подозрение на xy-проблему).
Как я понимаю, вам надо сгенерировать формулу, которая будет ссылаться на другой лист. Для этого формула должна содержать названия листа. В экселе была функция, которая позволяет сгенерировать полную ссылку на ячейку (с указанием файла, листа и собственно ячейки), и функция, которая принимает на вход сгенерированный адрес и возвращает значение по этому адресу. Названия я правда забыл. Попробуйте погуглить по такому описанию.

-- 15.08.2017, 00:05 --

А, вот кажется provincialka про них написала.

 Профиль  
                  
 
 Re: Индекс колонки как переменная или я познаю Excel
Сообщение15.08.2017, 00:39 
Аватара пользователя


29/01/15
298
ВШЭ, НМУ
provincialka, огромное спасибо! Именно то, что нужно.

 Профиль  
                  
 
 Re: Индекс колонки как переменная или я познаю Excel
Сообщение15.08.2017, 01:17 
Заслуженный участник


04/05/09
4582
Попробуйте так:
Код:
=OFFSET('second sheet'!R5C2,0,'first sheet'!R2C4)

Русского названия не знаю.

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 7 ] 

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group