Программное заполнение столбца Excel всеми возможными суммами двух комбинаций значений - PullRequest
0 голосов
/ 26 февраля 2019

Я пытаюсь заполнить столбец с количеством вычислений в зависимости от числа, указанного в качестве аргумента.Например, если я подключу это, мне нужно купить 50 виджеты из двух возможных типов виджетов:

Widget 1: $1.00
Widget 2: $1.15

Я хотел бы иметь возможность заполнить столбец с 50 различными значениями, каждое из которых является общимцена для 50 "виджета 1", общая цена для 49 "виджета 1" и 1 "виджет 2" и т. д. Вот пример, показывающий электронную таблицу общей цены для первой возможной комбинации:

enter image description here

Идея состоит в том, что, просто изменив B4 / X в электронной таблице, я могу получить сумму для каждой комбинации виджетов для общего количества виджетов X, с каждымсумма находится в своей собственной клетке.У меня есть начало формулы для вычисления этого, которое, кажется, может работать для итераций различных миксов виджета 1/2, но значение B4 жестко закодировано, и я также не знаю, как перенести формулу в столбец Cстолько раз, сколько указано в B4.VBA, вероятно, моя лучшая ставка здесь?

=((50+0)*B2)+((50-50)*B3)

Ответы [ 2 ]

0 голосов
/ 26 февраля 2019

Аналогичен ответу z32a7ul, но, возможно, немного короче:

    =IF($B$4+2-ROW()>=0,($B$4+2-ROW())*$B$2+(ROW()-2)*$B$3,"Out of Bounds")

Формула 1) проверяет, не превышено ли количество возможных комбинаций суммирования виджетов, и 2) вставляет сумму, если у вас нет 'т или 3) пишет "вне границ", если у вас есть.Начните со строки 2 (например, ячейка C2) и потяните вниз.

Формула предполагает a), что вы начинаете с row 2 (в противном случае каждые 2 в формуле меняйте на строку, в которой вы начинаете),Цены на виджеты указаны в ячейках B2 и B3 (в противном случае измените ссылку и сохраните знаки $, поэтому при перетаскивании формулы вниз ссылки сохраняются) Количество комбинаций в B4 (сноваотрегулируйте при необходимости)

0 голосов
/ 26 февраля 2019

Вы можете использовать функцию ROW() следующим образом:

=IF(OR(ROW()-ROW($C$2)<0,$B$4<ROW()-ROW($C$2)),"",(($B$4-(ROW()-ROW($C$2)))*$B$2+(ROW()-ROW($C$2))*$B$3))

Вы должны опускать ее, пока максимально возможное значение B4.Если фактическое значение B4 меньше максимального, формула приведет к пустым строкам.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...