ВПР в зависимости от элементов в списке

Я считаю калории, которые потребляю за день. У меня есть файл Excel с двумя листами:

sheet1 я выбираю продукт из выпадающего списка. И введите количество, которое я съел. Используя приведенную ниже формулу, он получает результат из Sheet2 (список продуктов), умножает его на количество, которое я съел, и делит его на 100, чтобы получить информацию о питании количества, которое я съел.

=(VLOOKUP($A8,'Food Items'!$B$1:$F$59,3,FALSE))*$B8/100

Sheet2 — это «Продукты питания» с их калориями, белками, жирами и углеводами на 100 граммов. Некоторые предметы могут быть указаны не в граммах, а в виде ломтиков или кусочков, например, ломтик хлеба. Я упомянул детали питания на ломтик.

Этот результат относится к продуктам питания, указанным на листе 2, на 100 граммов.

Эта формула не применяется к продуктам питания, нарезанным ломтиками. Я знаю, что могу изменить формулу на:

=(VLOOKUP($A8,'Food Items'!$B$1:$F$59,3,FALSE))*$B8

Что я хочу, так это то, что когда я выбираю продукт питания из списка, он использует формулу соответственно. Мне не нужно вводить формулу каждый раз, когда я выбираю элемент из списка.


person user3642384    schedule 15.05.2014    source источник
comment
Вам нужно иметь два отдельных списка, а затем вы можете сделать формулу зависимой/условной в зависимости от того, в каком списке находится элемент...   -  person David Zemens    schedule 16.05.2014
comment
@pnuts, возможно, я неправильно читаю, но вопрос строго о формуле рабочего листа не кажется по теме.   -  person David Zemens    schedule 16.05.2014
comment
предыдущий комментарий удален :)   -  person David Zemens    schedule 16.05.2014


Ответы (1)


С рабочим листом Food Items добавьте еще один столбец (например, G). Оставьте этот столбец пустым для продуктов, которые не нужно умножать на 100, и поставьте в нем "x" для продуктов, которые должны делить на 100.

Затем вы вкладываете свои формулы вместе. Выполните VLOOKUP и верните значение из столбца 3, которое будет условно разделено либо на 100 (если в столбце G есть "x"), либо на 1 (если столбец G пуст).

=VLOOKUP($A8,'Food Items'!$B$1:$F$59,3,FALSE)*($B8/If(VLOOKUP($A8,'Food Items'!$B$1:$G$59,6,FALSE)="x",100,1))
person David Zemens    schedule 15.05.2014
comment
ааа да @pnuts это должно быть /, я делал это задом наперед. - person David Zemens; 16.05.2014
comment
также я забыл B8 часть уравнения. - person David Zemens; 16.05.2014