Excel - ссылка на ячейку на другом листе в зависимости от ее значения

0

Вот моя ситуация. У меня есть два листа. Они в определенном формате, например:

1.

| Id-Number | Id-Name |

2.

| Id-Number | Id-Other Value |

Я хотел бы взять «Id-OtherValue» и добавить его после «Id-Name» на первом листе. Я думал сделать это так:

| Id-Number | Id-Name | (Get "Id-Other Value" from Sheet 2 where Id-Number = Id-Number)

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

Есть ли способ сделать это автоматически?

user339519
источник

Ответы:

3

Все, что вам нужно сделать, это vLookup данных в Sheet2 из Sheet1.

На Листе 1, где вы хотите "ID-Other-Value", используйте приведенную ниже формулу,

=vlookup(A2, Sheet2!A$2:B$4, 2, FALSE)

Предположения:

  • A2 - & gt; Содержит идентификатор в sheet1
  • От А2 до В4 - & gt; Содержит идентификатор в столбце A и идентификатор-другое значение в столбце B (на листе 2)

Измените диапазон Sheet2 соответствующим образом в формуле и скопируйте и вставьте его во все ячейки, которые вы хотите заполнить в Sheet1.

Редактировать: Если range_lookup (последний параметр в формуле) равен TRUE, первый столбец, указанный в диапазоне (Sheet2), должен быть отсортирован. Нет требования сортировки, если range_lookup равен FALSE.

jjk_charles
источник
1
@ LDC3: если range_lookup равен FALSE, сортировка первого столбца не требуется.
jjk_charles
Если вы добавите свой комментарий в свой ответ, я удалю этот комментарий.
LDC3
@ LDC3: Абсолютно хорошо оставлять свои комментарии как есть, это только поможет обеспечить большую ясность для того, кто будет искать его в более поздний момент времени. В любом случае, я добавил немного больше о range_lookup в моем ответе.
jjk_charles
0

Если некоторые из ваших идентификаторов в столбце А на листе 1 отсутствуют в столбце А на листе 2, вы получите значение ОШИБКИ, в таком случае вы можете использовать функцию ISERROR в сочетании с функцией IF, это защитит вас сообщения об ошибках, такие как # DIV0 или #VALUE и любые другие сообщения об ошибках, генерируемые ошибочной формулой.

IF (ISERROR (vlookup (A2, Sheet2! A $ 2: B $ 4, 2, FALSE)), 0, vlookup (A2, Sheet2! A $ 2: B $ 4, 2, FALSE)), где значение 0 будет результатом вместо ошибки сообщение.

В Excel 2010 вы можете вместо этого использовать функцию IFERROR, но если вы передадите кому-то свою работу с более ранними версиями, она не будет работать, поэтому эти старые функции в сочетании будут работать во всех версиях.

KristyC
источник