2

Я хочу посмотреть сумму с помощью функции Excel. Кажется, VLOOKUP невозможен, так как база данных имеет несколько столбцов. Я попытался выполнить поиск в Интернете, но тщетно, поскольку я не могу указать свою проблему в поиске Google.

Может кто-нибудь предложить формула Excel, которая может быть использована в таком сценарии?

2 ответа2

4

Решение от Joe DeRose умело использует функцию SUBSTITUTE, чтобы использовать метки в вашем примере. Если вы использовали эти ярлыки в качестве общего примера, а они действительно являются чем-то другим, то в этом случае ЗАМЕНА не поможет. Более обобщенным подходом, который будет работать с любыми метками, будет использование функции MATCH (остальная часть формулы останется прежней). Легко получить косоглазые идентифицирующие ячейки в примерах. Мой расчет состоит в том, что таблица в A3:G8, а первый пример поиска в A13:C13, поэтому я буду использовать это в формуле ниже:

    =VLOOKUP(A13,$A$3:$G$8,MATCH(B13,$A$2:$G$2,0),FALSE)

MATCH возвращает позицию значения в B13 в строке заголовка, которая является номером столбца, который используется для выбора VLOOKUP. Ноль выполняет ту же функцию, что и FALSE в VLOOKUP (выполнить точное совпадение). Как и в ответе Джо ДеРоза, ссылки на ячейки блокируются там, где это необходимо ($ s), поэтому вы можете ввести формулу в C13 и затем скопировать ее в нужную колонку.

Если ваш список поиска будет расширяться вниз по странице, вы можете получить фантазию и предварительно заполнить больше ячеек в столбце C, чем вам нужно, и скрыть их, пока они не будут использованы. Добавьте тест, используя функцию ISBLANK:

    =IF(ISBLANK(A13,"",VLOOKUP(A13,$A$3:$G$8,MATCH(B13,$A$2:$G$2,0),FALSE))

Это проверяет, является ли A13 пустым, и возвращает нулевое значение (пустую ячейку), если оно есть. В противном случае он использует формулу выше. Вы можете скопировать этот столбец C вниз для произвольно большого диапазона ячеек. Ячейки останутся пустыми, пока вы не введете значения поиска.

3

Нет проблем; VLOOKUP() может справиться с этим.

В вашем примере снимка экрана я предполагаю, что "Базовые данные" находятся в ячейке A1 . Если это так, то следующую ячейку можно поместить в ячейку D13 , которая является первой ячейкой, в которой у вас есть «??«:

=VLOOKUP(A14,$A$3:$E$8,VALUE(SUBSTITUTE(B14,"Location ",""))+1,FALSE)

Вот как эти аргументы вниз:

  1. A14 - клетка, которую вы пытаетесь сопоставить; в данном случае это "102".
  2. $A$3:$E$8 - блок, в котором вы пытаетесь найти соответствие; вам нужны знаки доллара, чтобы сделать его статичным, когда вы копируете формулу в другие ячейки.
  3. VALUE(SUBSTITUTE(B14,"Location ",""))+1 переводит ячейку B14 из "Location 2" в цифру 2, а затем добавляет 1 к ней (необходимо добавить 1, поскольку столбец 1 будет кодом счета столбец, столбец 2 - Расположение 1, столбец 3 - Расположение 2 и т. д.).
  4. FALSE заставляет точные совпадения.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .