Спасибо большое за ответ!
Но к сожалению первый аргумент функции СМЕЩ тоже должен быть динамическим, какой именно столбец нужен - тоже динамический параметр,
допустим в ячейке A1 находится название нужного столбца умной таблицы, то есть значение выбирается путем проверки данных:
пытался задать адрес первой ячейки нужного столбца УТ так:
Но к сожалению первый аргумент функции СМЕЩ тоже должен быть динамическим, какой именно столбец нужен - тоже динамический параметр,
допустим в ячейке A1 находится название нужного столбца умной таблицы, то есть значение выбирается путем проверки данных:
| Код |
|---|
=ДВССЫЛ("Таблица2[#Заголовки]") |
| Код |
|---|
=ДВССЫЛ(АДРЕС(СТРОКА(Таблица2[#Заголовки])+1;СТОЛБЕЦ(ДВССЫЛ(СЦЕПИТЬ("Таблица2[";A1;"]")));;;"Название листа с этой проклятой таблицей условий"))
|
И эта конструкция не работает в проверке данных (а просто в ячейке, как формула массива работает)
Проблем с функциями ЧСТРОК и СЧИТАТЬПУСТОТЫ нет, там я успешно "Сцепляю" название таблицы с её столбцом и количество непустых значений считается верно
РЕШЕНО:
адрес первой ячейки нужного столбца умной таблицы с условиями стоит находить так:
| Код |
|---|
ДВССЫЛ(ЯЧЕЙКА("адрес";ИНДЕКС(ДВССЫЛ(СЦЕПИТЬ("Таблица2[";А1;"]"));1;1))
|
ИТОГО, формула проверки данных будет выглядеть так:
| Код |
|---|
=СМЕЩ(
ДВССЫЛ(
ЯЧЕЙКА("адрес";ИНДЕКС(ДВССЫЛ(СЦЕПИТЬ("Таблица2[";A1;"]"));1;1)));
;
;
ЧСТРОК(ДВССЫЛ(СЦЕПИТЬ("Таблица2[";A1;"]")))-СЧИТАТЬПУСТОТЫ(ДВССЫЛ(СЦЕПИТЬ("Таблица2[";A1;"]"))
)) |
Изменено: - 26.01.2025 21:25:14