Страницы: 1
RSS
ввод нескольких значений в матрицу расчетов при двумерном поиске
 
Добрый день, друзья.
Нужно по таблице расчета определить все возможные значения из матрицы расчетов.
Понимаю, что нужно использовать двумерный поиск, но дело в том, что в одном столбце и одной строке несколько значений (сейчас они разбиты по столбцам и строкам, думаю, так прощу будет) по всем вариациям которого мне нужно проискать и ввести в ячейку эти тарифные значения.

Всю голову себе сломала, никак не могу сообразить, как воплотить.  
 
mearkhipova, Вы бы в примере показали, что именно должно получиться (хотя бы в нескольких ячейках), а то не совсем понятно в каком виде должен быть результат
 
Цитата
написал:
Msi2102
подкрепляю, внутри комментарий. буду оооочень благодарна за идеи!
 
mearkhipova, идея сделать в pq: взять один список по которому идет поиск, преобразовать его в список двойных значений "абсцисса-ордината", потом потом преобразовать его на значения из матрицы, полученный список отсортировать по численным значениям. может кто возьмется, мне пока некогда..
 
Формула:
Код
=ЕСЛИОШИБКА(ВПР($A9:$H9;'Матрица расчета'!$A$6:$CP$99;ПОИСКПОЗ(I$1:I$8;'Матрица расчета'!$A$6:$CP$6;););"")

вернет массив {TZ_EXP_7-2;TZ_EXP_8-2;TZ_EXP_8-1;"";"";"";"";""} если вы представите способ как среди них определить максимальное, то, вероятно, можно что-то придумать.
Изменено: R091n - 28.02.2024 11:19:51
 
Цитата
R091n, написал:
если вы представите способ как среди них определить максимальное,
Если предположить, что сравниваемые значения будут все с префиксом "TZ_EXP_" и, как написала автор в файле: "например TZ_EXP_10-3 больше TZ_EXP_8-1", т..е. после префикса идёт числовое сравнение... То можно ввести вспомогательный лист МР, в котором разместить формулы перевода строк в числа (TZ_EXP_10-3 => 10.3, TZ_EXP_8-1 => 8.1).
Для МР!B7 (вместо "-" ставим десятичную точку из настроек Excel), потом скопировать по всей таблице:
Код
=ЕСЛИОШИБКА(--ПОДСТАВИТЬ(ПОДСТАВИТЬ('Матрица расчета'!B7; "TZ_EXP_"; ""); "-"; ПСТР(1/2;2;1)); 0)
 
mearkhipova, проверяйте
="TZ_EXP_"&SUBSTITUTE(MAX(IFERROR(INDEX(--SUBSTITUTE(MID('Матрица расчета'.$B$7:$BU$78;FIND("EXP_";'Матрица расчета'.$B$7:$BU$78)+4;10);"-";",");MATCH($A9:$H9;'Матрица расчета'.$A$7:$A$99;0);MATCH(I$1:I$8;'Матрица расчета'.$B$6:$CI$6;0));0));",";"-")
Изменено: bigorq - 28.02.2024 11:39:25
 
Garrys, R091n, andypetr, bigorq, спасибо огромное! мысль поняла.

но формула как-будто выбирает наибольшее значение из первых ячеек строки и столбца. не вижу ошибку в формуле, но, например, при пересечении 10 строки и I должно быть TZ_EXP_8-2
 
Цитата
mearkhipova написал:
при пересечении 10 строки и I должно быть TZ_EXP_8-2
это почему же? GZ_EXP_1 с GZ_EXP_2 дают TZ_EXP_8-6
 
bigorq, а выдает формула TZ_EXP_7-2 почему-то
 
 
mearkhipova, у меня так
 
bigorq, получилось, ура!!

все было слишком просто - не так протянула формулу.

спасибо вам большое
 
bigorq, вы мне, правда, жизнь спасли
Изменено: mearkhipova - 28.02.2024 17:58:15
Страницы: 1
Наверх