Я новичок в Excel, так что, возможно, уже есть ответ на этот вопрос, и я просто не знал правильных терминов. Я пытаюсь преобразовать набор данных, а затем использовать его в другой формуле, без использования промежуточного столбца.
Сейчас у меня есть электронная таблица с 10 активами в столбце A и некоторым баллом в столбце B. Я хочу рассчитать процент портфеля, который я бы выделил каждому активу, исходя из его оценки, но с ограничением, чтобы ни один актив не мог иметь больше чем 30% портфеля.
У меня проблемы с выяснением того, как наложить эту кепку, не используя другой столбец для простого счета.
Учитывая данные оценки в столбце B, у меня есть столбец D "Процент нескорректированного портфеля", где каждая строка имеет формулу =B3/SUM($B$2:$B$11)
Затем у меня есть столбец E со значениями столбца B, но ограниченный 30%, =MIN(D2, 0.3)
.
Наконец, у меня есть столбец F "Скорректированный процент портфеля", =E2/SUM($E$2:$E$11)
.
Как мне сделать это без столбца E?
Мой первый инстинкт заключается в том, что, вероятно, существует некоторый синтаксис для применения преобразования к столбцу перед его использованием в стиле лямбда-выражения. Т.е. в псевдокоде должен быть рассчитан столбец Скорректированный процент портфеля
let values = min(score / sum(scores), .3) / sum(adjusted) for score in scores
where adjusted = min(score / sum(scores), .3) for score in scores
Я понятия не имею, как сделать это с помощью Excel, хотя я был бы рад, если бы мог написать формулу с неким лямбда-синтаксисом. Например, с оценками в столбце B 2-й ряд будет
=MIN(B2/SUM($B:$B), .3)/SUM(x -> MIN(x/SUM($B:$B), .3), $B:$B)
.
Извлечь повторяющуюся логику в локальную функцию было бы круто, но, может быть, много чего можно спросить о чем-то, что не является языком программирования. Может быть, это преобразование данных очень много о чем-то, что не является языком программирования?