Столкнувшись с проблемой, подобной вашей, хорошо запомнить основное c правило Excel: «Никогда не помещайте данные в формулы». Данные принадлежат листу. Формулы просто манипулируют ими. Соответственно, вам нужна такая таблица.
Теперь решение простое - иначе было бы, если бы ваше описание было однозначным. Я предположил, что то, что вы называете «снижением цены», на самом деле является необлагаемой налогом частью продажи. Таким образом, если стоимость продажи составляет 200 долларов США, налог будет уплачен на меньшую сумму. Конечно, это приводит к возможности получения отрицательного налога, который вряд ли будет предлагаться. Таким образом, используется формула [Налоговая база] = [Сумма продажи] - [Сумма, освобожденная от налога], но не менее нуля.
Исходя из вышеизложенного предположения, приведенная ниже формула будет работать, если вы указали таблица, изображенная выше как «Налоги». Если вы не назвали его, имя по умолчанию может быть Table1
, и вы можете изменить это имя в формуле.
=G2+MAX(ROUND((G2-VLOOKUP(B2,Taxes,3,FALSE))*VLOOKUP(B2,Taxes,2,FALSE),2),0)
Я обращаю внимание на то, что формула также округляет результат. Это важно для таких листов, как ваш, потому что вы не можете позволить, чтобы сумма в столбце H отличалась от того, что вы видите, и все, что вы видите, это 2 цифры.
Каждый раз, когда меняются налоги, вы просто меняете таблицу и оставьте формулы на месте. Эта часть проста. Но нужно помнить об одном. Все формулы прошлого также относятся к таблице, и все ваши старые суммы продаж будут «обновлены». Итак, при изменении ставок сначала скопируйте / PasteSpecial> Значения всех существующих или создайте новую таблицу с именем Taxes2020
и начните использовать новую формулу, ссылающуюся на эту таблицу с даты отсечения вперед.