Косвенный (Адрес (… «Имя»)

0

У меня есть диапазон с именем 'select', который содержит случайные числа =ROUND(RAND()*8+0.5,0)- они представляют 8 человек. В другом месте я использую следующую формулу для случайного выбора из этих случайных чисел.

INDIRECT(ADDRESS(RANDBETWEEN(ROW(select),ROW(select)+ROWS(select)-1),RANDBETWEEN(COLUMN(select),COLUMN(select)+COLUMNS(select)-1)))

Это прекрасно работает только в том случае, если на листе определено «select». Оно не будет работать на других листах в книге. «Select» установлено для использования в книге. Что мне не хватает?

Джеймс П
источник
Это не должно иметь значения, но почему бы вам просто не использовать RANDBETWEEN(1,8)для генерации чисел от 1 до 8?
G-Man

Ответы:

0

Вы звоните , где (случайный) номер строки и номер столбца. Функция видит только эти два числа; он не видит , что они приходят и ; поэтому он просто генерирует адресную строку как ; он не знает, чтобы квалифицировать его с листом, где находится. Вы должны изменить свой звонок на что-то вродеADDRESS(n, m)nmADDRESS()ROW(select)COLUMN(select)$Q$42selectADDRESS

АДРЕС ( (номер строки) , (номер столбца) ,,, (имя_столба) )

например,

ADDRESS(RANDBETWEEN(ROW(select),ROW(select)+ROWS(select)-1),RANDBETWEEN(COLUMN(select),COLUMN(select)+COLUMNS(select)-1),,, "Sheet2")

если selectвключен Sheet2.

G-Man
источник