Я хочу получить содержимое ячейки с учетом номера строки и столбца. Номер строки и столбца хранятся в ячейках (здесь B1, B2). Я знаю, что следующие решения работают, но они кажутся немного взломанными.
Соль 1
=CELL("contents",INDIRECT(ADDRESS(B1,B2)))
Соль 2
=CELL("contents",OFFSET($A$1, B1-1,B2-1))
Нет ли менее подробного метода? (например, = CellValue (row, col) или что-то еще)?
Редактировать / Уточнение: я просто хочу использовать формулы рабочего листа Excel. Нет VBA. Короче говоря, я в значительной степени ищу эквивалент метода VBA Cells () в виде формулы Excel.
excel
excel-formula
Филипп
источник
источник
Ответы:
Вам не нужна часть CELL () в ваших формулах:
или
оба будут работать. Обратите внимание, что обе функции
INDIRECT
иOFFSET
являются непостоянными. Неустойчивые функции могут замедлить вычисления, поскольку они вычисляются при каждом пересчете.источник
INDIRECT
+ADDRESS
- лучший способ. Excel на моем языке переводитсяOFFSET
двумя словами, разделенными точкой. Это худшее (вместе с умляутами в именах функций)!Попробуйте = index (ARRAY, ROW, COLUMN)
где: Массив: выберите весь лист Строка, Столбец: Ссылки на строку и столбец
Это должно быть легче понять тем, кто смотрит на формулу.
источник
Это заняло у меня время, но вот как я сделал его динамичным. Это не зависит от отсортированной таблицы.
Сначала я начал с столбца названий штатов (столбец A) и столбца самолетов в каждом штате (столбец B). (Строка 1 - строка заголовка).
Поиск ячейки, содержащей номер самолета, был:
Я поместил это в ячейку, а затем дал этой ячейке имя "StateRow". Затем, используя подсказки сверху, я получил следующее:
Это возвращает имя состояния из динамического значения в строке StateRow, столбец 1.
Теперь, когда значения в столбце счетчика меняются со временем по мере ввода большего количества данных, я всегда знаю, в каком штате больше всего самолетов.
источник