Как вернуть значения даты из arrayformula в индекс: формула соответствия (функция влево / вправо)

#google-sheets #google-sheets-formula

#google-sheets #google-sheets-формула

Вопрос:

Я пытаюсь использовать функцию сопоставления индексов из текстовой строки, которая была преобразована из массива. Это электронная таблица, над которой я работаю, в строке M я пытаюсь вернуть значение даты из связанной электронной таблицы (метабазы данных), в которой указаны даты, с которых начались связанные «назначения».

0

Таблица данных метабазы выглядит следующим образом:

Как вы можете видеть на первом изображении, я использовал функцию left и right, чтобы вырезать последние 4 числа каждого назначения перед последним хэшем и сопоставить их с идентификатором назначения в таблице метабазы. Я думаю, потому что это запрос, когда я только что сопоставил столбец A в таблице метабазы, я получил N / A, но когда я использовал формулу массива, я получил идентификаторы присваивания, и повторяющиеся даты 9/10/2018 были возвращены в функции index:match. Я переместил функцию формулы массива в строку 1299 для лучшей видимости, но никаких изменений по сравнению с тем, когда формула массива была в строке 2, не произошло.

 =index('metabase data'!Q:Q, MATCH(left(Right(K2, 5), 4),'metabase data'!S:S),false)
  

Я надеюсь, что столбец даты начала вернет даты начала, которые находятся в таблице метабазы, соответствующие идентификаторам назначения

Ответ №1:

 =ARRAYFORMULA(TO_DATE(IFERROR(VLOOKUP(VALUE(LEFT(RIGHT(K21:K, 5), 4)), 
 {VALUE('metabase data'!A:A), 'metabase data'!Q:Q}, 2, 0))))
  

0

Комментарии:

1. Прибил его! Я этого не понимаю, но это работает, ха-ха