Замена аргументов в формуле массива переменной или ссылкой
maverick_77
Дата: Среда, 01.07.2015, 10:43 |
Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 39
Репутация:
0
±
Замечаний:
20% ±
Excel 2010
Добрый день. Прошу помощи в решении такой задачи: есть формула массива: Код
{=НАИБОЛЬШИЙ(СТРОКА($1:$30)*ЕОШИБКА(ПОИСКПОЗ(СТРОКА($1:$30);B$1:B1;0));СЛУЧМЕЖДУ(1;30-СЧЁТ(B$1:B1)))}
Она возвращает в ячейку произвольное число от 1 до 30 Такие формулы стоят в некотором количестве ячеек, так, что во всех них результаты расчёта (произвольные числа) не повторяются и во всех эти числа выбираются из указанного диапазона (1 - 30). Необходимо сделать так, чтобы верхняя граница диапазона произвольных чисел (в примере - 30) могла меняться. Например, в соответствии с тем, какое число показала формула в заданной ячейке В прикреплённом примере необходимо чтобы формулы в ячейках B2:B31 возвращали произвольное значение из диапазона чисел от 1 до количества записей в списке (D2:D1000). В случае именно этого примера - до 166; или до результата расчёта формулы в ячейке D1 Можно ли как-то вместо цифры 30 в формулах поставить ссылку на D1? Или ещё как-то?...
Добрый день. Прошу помощи в решении такой задачи: есть формула массива: Код
{=НАИБОЛЬШИЙ(СТРОКА($1:$30)*ЕОШИБКА(ПОИСКПОЗ(СТРОКА($1:$30);B$1:B1;0));СЛУЧМЕЖДУ(1;30-СЧЁТ(B$1:B1)))}
Она возвращает в ячейку произвольное число от 1 до 30 Такие формулы стоят в некотором количестве ячеек, так, что во всех них результаты расчёта (произвольные числа) не повторяются и во всех эти числа выбираются из указанного диапазона (1 - 30). Необходимо сделать так, чтобы верхняя граница диапазона произвольных чисел (в примере - 30) могла меняться. Например, в соответствии с тем, какое число показала формула в заданной ячейке В прикреплённом примере необходимо чтобы формулы в ячейках B2:B31 возвращали произвольное значение из диапазона чисел от 1 до количества записей в списке (D2:D1000). В случае именно этого примера - до 166; или до результата расчёта формулы в ячейке D1 Можно ли как-то вместо цифры 30 в формулах поставить ссылку на D1? Или ещё как-то?... maverick_77
если нельзя, но очень хочется, то можно!
Сообщение отредактировал maverick_77 - Среда, 01.07.2015, 10:43
Ответить
Сообщение Добрый день. Прошу помощи в решении такой задачи: есть формула массива: Код
{=НАИБОЛЬШИЙ(СТРОКА($1:$30)*ЕОШИБКА(ПОИСКПОЗ(СТРОКА($1:$30);B$1:B1;0));СЛУЧМЕЖДУ(1;30-СЧЁТ(B$1:B1)))}
Она возвращает в ячейку произвольное число от 1 до 30 Такие формулы стоят в некотором количестве ячеек, так, что во всех них результаты расчёта (произвольные числа) не повторяются и во всех эти числа выбираются из указанного диапазона (1 - 30). Необходимо сделать так, чтобы верхняя граница диапазона произвольных чисел (в примере - 30) могла меняться. Например, в соответствии с тем, какое число показала формула в заданной ячейке В прикреплённом примере необходимо чтобы формулы в ячейках B2:B31 возвращали произвольное значение из диапазона чисел от 1 до количества записей в списке (D2:D1000). В случае именно этого примера - до 166; или до результата расчёта формулы в ячейке D1 Можно ли как-то вместо цифры 30 в формулах поставить ссылку на D1? Или ещё как-то?... Автор - maverick_77 Дата добавления - 01.07.2015 в 10:43
Pelena
Дата: Среда, 01.07.2015, 11:05 |
Сообщение № 2
Группа: Админы
Ранг: Местный житель
Сообщений: 19517
Репутация:
4632
±
Замечаний:
±
Excel 365 & Mac Excel
Здраствуйте. Например, так Код
=НАИБОЛЬШИЙ(СТРОКА(ДВССЫЛ("$1:$"&$D$1))*ЕОШИБКА(ПОИСКПОЗ(СТРОКА(ДВССЫЛ("$1:$"&$D$1));B$1:B1;0));СЛУЧМЕЖДУ(1;$D$1-СЧЁТ(B$1:B1)))
или с доп. столбцом без формул массива (см. второй лист в файле)
Здраствуйте. Например, так Код
=НАИБОЛЬШИЙ(СТРОКА(ДВССЫЛ("$1:$"&$D$1))*ЕОШИБКА(ПОИСКПОЗ(СТРОКА(ДВССЫЛ("$1:$"&$D$1));B$1:B1;0));СЛУЧМЕЖДУ(1;$D$1-СЧЁТ(B$1:B1)))
или с доп. столбцом без формул массива (см. второй лист в файле) Pelena
"Черт возьми, Холмс! Но как??!!" Ю-money 41001765434816
Ответить
Сообщение Здраствуйте. Например, так Код
=НАИБОЛЬШИЙ(СТРОКА(ДВССЫЛ("$1:$"&$D$1))*ЕОШИБКА(ПОИСКПОЗ(СТРОКА(ДВССЫЛ("$1:$"&$D$1));B$1:B1;0));СЛУЧМЕЖДУ(1;$D$1-СЧЁТ(B$1:B1)))
или с доп. столбцом без формул массива (см. второй лист в файле) Автор - Pelena Дата добавления - 01.07.2015 в 11:05
AlexM
Дата: Среда, 01.07.2015, 11:27 |
Сообщение № 3
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4517
Репутация:
1130
±
Замечаний:
0% ±
Excel 2003
В формуле фрагментможно заменить наКод
=СТРОКА($A1:ИНДЕКС(A:A;$D$1))
В формуле фрагментможно заменить наКод
=СТРОКА($A1:ИНДЕКС(A:A;$D$1))
AlexM
Номер мобильного модема (без голосовой связи) 9269171249 МегаФон, Московский регион.
Ответить
Сообщение В формуле фрагментможно заменить наКод
=СТРОКА($A1:ИНДЕКС(A:A;$D$1))
Автор - AlexM Дата добавления - 01.07.2015 в 11:27
Макрописец
Дата: Среда, 01.07.2015, 11:37 |
Сообщение № 4
Группа: Заблокированные
Ранг: Форумчанин
Сообщений: 128
Репутация:
7
±
Замечаний:
100% ±
Excel 2010
И сделать формулу длиннее.?
ТЕРПЕНИЕ И ТРУД - ВСЁ ПЕРЕТРУТ!
Ответить
Сообщение И сделать формулу длиннее.? Автор - Макрописец Дата добавления - 01.07.2015 в 11:37
Pelena
Дата: Среда, 01.07.2015, 11:40 |
Сообщение № 5
Группа: Админы
Ранг: Местный житель
Сообщений: 19517
Репутация:
4632
±
Замечаний:
±
Excel 365 & Mac Excel
Макрописец , предложите свой вариант решения без удлиннения формулы
Макрописец , предложите свой вариант решения без удлиннения формулыPelena
"Черт возьми, Холмс! Но как??!!" Ю-money 41001765434816
Ответить
Сообщение Макрописец , предложите свой вариант решения без удлиннения формулыАвтор - Pelena Дата добавления - 01.07.2015 в 11:40
Макрописец
Дата: Среда, 01.07.2015, 11:52 |
Сообщение № 6
Группа: Заблокированные
Ранг: Форумчанин
Сообщений: 128
Репутация:
7
±
Замечаний:
100% ±
Excel 2010
ТЕРПЕНИЕ И ТРУД - ВСЁ ПЕРЕТРУТ!
Ответить
Сообщение Pelena , см. Тут короче.Автор - Макрописец Дата добавления - 01.07.2015 в 11:52
_Boroda_
Дата: Среда, 01.07.2015, 12:02 |
Сообщение № 7
Группа: Админы
Ранг: Местный житель
Сообщений: 16895
Репутация:
6612
±
Замечаний:
±
2003; 2007; 2010; 2013 RUS
Где-то я ее уже видел И сделать формулу длиннее.?
Скорость работы формулы в общем случае практически никак не зависит от ее (формулы) длины. Ну вот чуть покороче, но принцип не изменен Код
=НАИБОЛЬШИЙ(СТРОКА(ДВССЫЛ("1:"&D$1))*ЕОШИБКА(ПОИСКПОЗ(СТРОКА(ДВССЫЛ("1:"&D$1));B$1:B1;0));СЛУЧМЕЖДУ(1;D$1-A2))
=СТРОКА($A1:ИНДЕКС(A:A;$D$1))
Леш, ты доллар туда засунул? - не $A1, а A$1 Код
=НАИБОЛЬШИЙ(СТРОКА(ДВССЫЛ("1:"&D$1))*ЕОШИБКА(ПОИСКПОЗ(СТРОКА(ДВССЫЛ("1:"&D$1));B$1:B1;0));СЛУЧМЕЖДУ(1;D$1-A2))
Где-то я ее уже видел И сделать формулу длиннее.?
Скорость работы формулы в общем случае практически никак не зависит от ее (формулы) длины. Ну вот чуть покороче, но принцип не изменен Код
=НАИБОЛЬШИЙ(СТРОКА(ДВССЫЛ("1:"&D$1))*ЕОШИБКА(ПОИСКПОЗ(СТРОКА(ДВССЫЛ("1:"&D$1));B$1:B1;0));СЛУЧМЕЖДУ(1;D$1-A2))
=СТРОКА($A1:ИНДЕКС(A:A;$D$1))
Леш, ты доллар туда засунул? - не $A1, а A$1 Код
=НАИБОЛЬШИЙ(СТРОКА(ДВССЫЛ("1:"&D$1))*ЕОШИБКА(ПОИСКПОЗ(СТРОКА(ДВССЫЛ("1:"&D$1));B$1:B1;0));СЛУЧМЕЖДУ(1;D$1-A2))
_Boroda_
Скажи мне, кудесник, любимец ба’гов... Платная помощь: Boroda_Excel@mail.ru Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
Ответить
Сообщение Где-то я ее уже видел И сделать формулу длиннее.?
Скорость работы формулы в общем случае практически никак не зависит от ее (формулы) длины. Ну вот чуть покороче, но принцип не изменен Код
=НАИБОЛЬШИЙ(СТРОКА(ДВССЫЛ("1:"&D$1))*ЕОШИБКА(ПОИСКПОЗ(СТРОКА(ДВССЫЛ("1:"&D$1));B$1:B1;0));СЛУЧМЕЖДУ(1;D$1-A2))
=СТРОКА($A1:ИНДЕКС(A:A;$D$1))
Леш, ты доллар туда засунул? - не $A1, а A$1 Код
=НАИБОЛЬШИЙ(СТРОКА(ДВССЫЛ("1:"&D$1))*ЕОШИБКА(ПОИСКПОЗ(СТРОКА(ДВССЫЛ("1:"&D$1));B$1:B1;0));СЛУЧМЕЖДУ(1;D$1-A2))
Автор - _Boroda_ Дата добавления - 01.07.2015 в 12:02
AlexM
Дата: Среда, 01.07.2015, 12:10 |
Сообщение № 8
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4517
Репутация:
1130
±
Замечаний:
0% ±
Excel 2003
Леш, ты доллар туда засунул?
Не туда. Ошибся. Не проверил, из-за отсутствия в 2003 функции СЛУЧМЕЖДУ(). Конечно надо такКод
=СТРОКА(A$1:ИНДЕКС(A:A;D$1))
И сделать формулу длиннее.?
Зато не летучая.
Леш, ты доллар туда засунул?
Не туда. Ошибся. Не проверил, из-за отсутствия в 2003 функции СЛУЧМЕЖДУ(). Конечно надо такКод
=СТРОКА(A$1:ИНДЕКС(A:A;D$1))
И сделать формулу длиннее.?
Зато не летучая.AlexM
Номер мобильного модема (без голосовой связи) 9269171249 МегаФон, Московский регион.
Сообщение отредактировал AlexM - Среда, 01.07.2015, 12:12
Ответить
Сообщение Леш, ты доллар туда засунул?
Не туда. Ошибся. Не проверил, из-за отсутствия в 2003 функции СЛУЧМЕЖДУ(). Конечно надо такКод
=СТРОКА(A$1:ИНДЕКС(A:A;D$1))
И сделать формулу длиннее.?
Зато не летучая.Автор - AlexM Дата добавления - 01.07.2015 в 12:10
maverick_77
Дата: Среда, 01.07.2015, 12:54 |
Сообщение № 9
Группа: Пользователи
Ранг: Новичок
Сообщений: 39
Репутация:
0
±
Замечаний:
20% ±
Excel 2010
Да-да!... =))) только не в той ветке, что вы указали, а прямо мне подсказывали. За что Вам ещё раз спасибо =) Макрописец , для меня длина формулы в данном случае не имеет значения. Во всяком случае - её удлинение настолько. Поэтому, AlexM, Pelena, _Boroda_, спасибо за предложенные варианты! И если не сложно, поясните разницу между вариантами Код
СТРОКА(A$1:ИНДЕКС(A:A;D$1))
и Код
СТРОКА(ДВССЫЛ("1:"&D$1) / СТРОКА(ДВССЫЛ("$1:$"&$D$1)
Да-да!... =))) только не в той ветке, что вы указали, а прямо мне подсказывали. За что Вам ещё раз спасибо =) Макрописец , для меня длина формулы в данном случае не имеет значения. Во всяком случае - её удлинение настолько. Поэтому, AlexM, Pelena, _Boroda_, спасибо за предложенные варианты! И если не сложно, поясните разницу между вариантами Код
СТРОКА(A$1:ИНДЕКС(A:A;D$1))
и Код
СТРОКА(ДВССЫЛ("1:"&D$1) / СТРОКА(ДВССЫЛ("$1:$"&$D$1)
maverick_77
если нельзя, но очень хочется, то можно!
Сообщение отредактировал maverick_77 - Среда, 01.07.2015, 12:55
Ответить
Сообщение Да-да!... =))) только не в той ветке, что вы указали, а прямо мне подсказывали. За что Вам ещё раз спасибо =) Макрописец , для меня длина формулы в данном случае не имеет значения. Во всяком случае - её удлинение настолько. Поэтому, AlexM, Pelena, _Boroda_, спасибо за предложенные варианты! И если не сложно, поясните разницу между вариантами Код
СТРОКА(A$1:ИНДЕКС(A:A;D$1))
и Код
СТРОКА(ДВССЫЛ("1:"&D$1) / СТРОКА(ДВССЫЛ("$1:$"&$D$1)
Автор - maverick_77 Дата добавления - 01.07.2015 в 12:54
AlexM
Дата: Среда, 01.07.2015, 13:10 |
Сообщение № 10
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4517
Репутация:
1130
±
Замечаний:
0% ±
Excel 2003
Номер мобильного модема (без голосовой связи) 9269171249 МегаФон, Московский регион.
Сообщение отредактировал AlexM - Среда, 01.07.2015, 13:13
Ответить