Не могли бы вы помочь мне с нижеследующим? Цель моего проекта excel заключается в том, что каждый раз каждый раз, когда B находится в столбце A, это минус количества A до достижения количества.Вычитайте сумму из ячейки до тех пор, пока она не достигнет 0, затем переместите и вычитайте из следующей суммы
Только значения с A означают, из каких величин вычесть. В следующий раз, когда он найдет следующий B, он проверит все выше A с оставшимся количеством и так далее.
Я попытался ниже Aswell, но не был успешным.
=IF(A2="B",MAX(SUM($B$2:B2)-OFFSET(A2,0,1),0),"")
Я думал о том, чтобы выбрать код vba.
Для примера:
С первого «B» находится выше последовательности, то остаток равен нулю (0) потому, что 300 -100 оставляя нуль количества слева. Остаток будет снят с 250, оставив остаток .
Оставшийся баланс на B всегда будет равна нулю
Так, мне кажется, что все «А» положительны и все «B» являются отрицательными, а остаток качению is: '= SUMIF ($ A $ 2: A2;" A "; $ B $ 2: B2) -SUMIF ($ A $ 2: A2;" B "; $ B $ 2: B2)' (помещается в ячейку C2 и затем копируется вниз). Или я чего-то не хватает? – Ralph
@ralph С первым «B» является последовательность выше, оставшийся баланс равен нулю (0), потому что 300 -100, оставляя ноль оставшейся величины. Остальные 200 будут сняты с 250, оставив баланс 50. – James
Это не имеет никакого смысла для меня. Из первых двух значений «А» вы вычитаете только первое значение «В», оставив остаток в 50. Но как насчет второго значения «В». Разве это не будет потреблять этот остаток (снова)? Возможно, вы можете написать на приведенном выше снимке экрана ожидаемый результат и повторно опубликовать эту фотографию, чтобы мы знали, чего вы хотите. Следуя вашей текущей логике, я ожидал бы следующих значений: '= MAX (SUMIF ($ A $ 2: A2," A ", $ B $ 2: B2) -SUMIF ($ A $ 2: $ A $ 8," B ", $ B $ 2: $ B $ 8), 0) '(в ячейке C2, а затем скопировано). – Ralph