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

Например, в ячейке M1 я сохраняю индекс столбца (A или B или C...), который я хочу использовать позже.

Если теперь я помещаю символ D в M1, используя =SUM($M$1:$M$1), я хочу получить сумму столбца D. И если я изменяю D на A в M1, я хочу вместо этого суммировать столбец A.

Любое предложение?


person simeonyyyyyy    schedule 29.07.2013    source источник


Ответы (2)


Надеюсь, =SUM(INDIRECT(M1&":"&M1)) будет служить.

person pnuts    schedule 29.07.2013
comment
Лично я считаю, что мы должны быть более напористыми в наших ответах. Если мы говорим, что попробуйте это или это может сработать, это может быть снижено. Если мы неправильно поняли вопрос, у нас всегда есть возможность удалить или исправить. С Уважением. - person Andy G; 30.07.2013
comment
Спасибо, это действительно полезно. Это работает нормально. Еще один вопрос: если индекс столбца, хранящийся в M1, находится не на том же листе, а в «Книге2», что мне делать? Я попытал счастья, но потерпел неудачу. - person simeonyyyyyy; 30.07.2013
comment
Спасибо большое. Это действительно выше моих ожиданий. Я пробовал =sum(book1!indirect(M1&:&M1)) и =sum(indirect(book1!M1&:&M1)). Неудачно. Что я сделал не так? - person simeonyyyyyy; 30.07.2013
comment
@pnuts, извините, я тупой, я хотел сказать лист1 вместо книга1. Лист1 находится в той же книге и, конечно же, открыт. Могу я узнать как? - person simeonyyyyyy; 30.07.2013
comment
нет, я думаю, что я не ясно выражаюсь. У меня есть один лист MainFrame, где находится M1. И есть еще один лист rawData. Я храню D в M1 (в MainFrame), и теперь я хочу получить сумму столбца D в rawData. - person simeonyyyyyy; 30.07.2013
comment
Я хочу сделать это в MainFrame, поэтому мне интересно, куда поместить rawData! - person simeonyyyyyy; 30.07.2013
comment
@pnuts, это работает!! Спасибо, и спасибо всем. Я программист и новичок в обработке данных с помощью Excel. Извините за наивный вопрос. - person simeonyyyyyy; 30.07.2013

Вот вариант без INDIRECT. В отличие от @pnut, он будет работать только для столбцов от A до Z (или L в данном случае), но, поскольку вы основываете его на M1, возможно, это нормально:

=SUM(INDEX(A:L,0,CODE(UPPER(M1))-64))
person Doug Glancy    schedule 29.07.2013
comment
Спасибо за чаевые. У меня есть столбцы за Z. Ваш вариант действительно интересен :) - person simeonyyyyyy; 30.07.2013