Дано:
Строка длинной в 80 клеток
В каждой клетеке есть данные в формате целого числа
Надо на соседнем Sheet превратить эту строку в столбик при этом мне нужно число только из каждой четфертой клетки первоначальной строки.
Еще раз:
Имеем:
А$5:
6 3 2 4
6 1 2 8
4 3 4 3
2 8 4 2
1 .......
3
Надо:
$B1:
6
6
4
2
1
.
.
.
3
Чего я смог достичь:
при помощи вот такого выражения я могу получить адрес клетки.
|
=(ADDRESS(ROW(Sheet1.B15),(COLUMN(Sheet1.B15)+$C$1),2,,"Sheet1" ))
|
В
$C$1 находится смещение = 4, на которое надо сдвигать курсор, при вытягивании мышой за угол клетки на всю колонку.
проблема в том, что в клетке с этой формулой я получаю адрес, но в формате TEXT и не могу найти, как его подставить в формулу в виде адреса, а не текста.
Поскольку в вышеописанном способе я зашел в тупик - попробовал зайти с другой стороны и использовал для клeтки B1:
|
{=TRANSPOSE(Sheet1.A5:CB5)}
|
В этом случае я получаю все 80 значений, и как оставить только каждое 4 - тоже не могу найти.
Кто сталкивался с такими задачами - подскажите, хотябы, куда копать.
Спасибо
Решение:
|
=INDIRECT(ADDRESS(ROW(Sheet1.B$15),(COLUMN(Sheet1.C15)+(4*(ROW()-1))),,,"Sheet1"))
|
где в
(4*(ROW()-1)) рассчитывается шаг клетки. -1 - значит, что начинаем с самой верхней строки. Если начинаем, скажем, с 5, то соответственно -5.
Спасибо Андрей за наводку на INDIRECT
Что интересно, что из описания функции я сразу не вник, что она мне нужна, хотя несколько раз перечитал, т.к. по назаванию казалось то, что надо. После твоего совета посмотрел еще раз в описание, а там первой строкой:
Returns the reference specified by a text string.
Как я это изначально пропустил?
Вообщем всем спасибо за помощь, вопрос решен - мир спасен, конец света в очередной раз отложили.