Проблемы с Excel - расчетное значение в качестве ссылки на ячейку - PullRequest
4 голосов
/ 01 мая 2009

Я относительно новичок в программировании Excel. Я работаю над созданием электронной таблицы, которая показывает экспоненциальный спад. У меня есть один столбец (A1: A1000) из 1000 случайных чисел между 1 и 10, используя TRUNC (RAND () * 10,0) в каждой ячейке. Следующий столбец (B1: B1000) имеет логическую маску = IF (A1 = 0,1,0), где, если значение в ячейке A равно 0, тогда ячейка B показывает 1. Далее, чтобы найти число 0 в столбце A, у меня есть следующий столбец с суммой B1: B1000, которая возвращает число 0, которое появилось в первом столбце. Я уверен, что есть более простой способ сделать это, но это, кажется, работает хорошо.

Вот моя проблема, надеюсь, понятно, о чем я спрашиваю:

Далее я хочу взять сумму логического столбца (B) из B1: B (1000 - значение суммы из (B1: 1000)) в ячейке ниже ячейки, которая вычисляет сумму (B1: B1000). ). Есть ли способ алгебры в формуле ячейки для ссылки на ячейку? Проще говоря, если я хочу обратиться к A3, например, есть ли способ ввести что-то вроде A (2 + 1), чтобы получить A3? Имеет ли это смысл?

Ответы [ 2 ]

12 голосов
/ 01 мая 2009

Вы можете очень легко сделать, в VBA:

ActiveCell.Formula = "=A" & (2+1) & "+15"

В Excel:

=INDIRECT(ADDRESS(2+1, COLUMN(A1)))+15

Это установит формулу на "= A3 + 15". Как правило, это лучше всего делать с переменными, поэтому не забывайте делать это.

0 голосов
/ 20 октября 2017

В Excel, как указал Эрик, вы можете написать ссылку на ячейки, как обычные строки, благодаря функции INDIRECT().

Просто убедитесь, что строка, переданная в INDIRECT(), является действительной ссылкой на ячейку.

Например:

=SUM(INDIRECT("B" & 2+7*(H2-1)):INDIRECT("B"&(2+7*H2)-1))

Здесь я суммирую 7 строк за каждую неделю (H2). Это дает сумму B2:B8, B9:B15, B16:B22 и т. Д.

Надеюсь, мой пример поможет вам понять, как использовать его в реальной ситуации.

...