Vlookup ячейка QR-кода в Google Sheets возвращает пустой - PullRequest
0 голосов
/ 06 июня 2019

В Google Sheets при поиске данных строки из другой вкладки / листа на основе поиска Vlookup ячейка с QR-кодом возвращается пустой. ПРИМЕР ЗДЕСЬ : https://docs.google.com/spreadsheets/d/1jy8AVbSfgJRh5WAFNgEOAq-VvEuBbyMDk5js3EiiRf4/edit?usp=sharing

У меня есть 4 вкладки / листы в Google Sheets:

  1. (Sheet1-data) Собирает данные из Google Forms.
  2. (Sheet2-process) Служит для обработки данных с первого листа и служит для генерирования QR-кодов.
  3. (Sheet3-pivot) Собирает все данные и автоматически добавляет N / A к пустым ячейкам, основываясь на: сообщении «Нет совпадения» в результатах Google Sheets Vlookup для ячеек без данных .
  4. (Sheet4-search) Выполняет поиск Vlookup на основе значения, введенного пользователем, и основан на: Поиск значения на другой вкладке / листе в листах Google на основе ссылки на ячейку .

Код для генерации QR in (Sheet2-process) такой:

={"QR";arrayformula( if( len(A2:A),IMAGE("https://api.qrserver.com/v1/create-qr-code/?size=120x120&data="&ENCODEURL(
"-Tipo de Equipo: "&B2:B& char(10)& 
"-ID unico: "& F2:F& char(10)& 
"-# Serial: "&G2:G & char(10)&
"-Area: "&L2:L & char(10)),2)   ,""))}

Код для столбца QR в (Sheet3-pivot) такой:

 =arrayformula(IF(LEN('Sheet1-data'!$A:$A), IF(Sheet2-process!M:M<>"",Sheet2-process!M:M,"N/A"),""))

И затем код для поиска выглядит примерно так:

=ARRAYFORMULA(
    IF(B3<>"", SUBSTITUTE(TRANSPOSE(SPLIT(TEXTJOIN(CHAR(10)&CHAR(10)&"♦", 1, 
        VLOOKUP(B3, {Sheet3-pivot!AN:AN, Sheet3-pivot!A:BR}, 
                    {69,70},0)), CHAR(10))), "♦", ),
    IF(C3<>"", SUBSTITUTE(TRANSPOSE(SPLIT(TEXTJOIN(CHAR(10)&CHAR(10)&"♦", 1, 
        VLOOKUP(C3, {Sheet3-pivot!AK:AK, Sheet3-pivot!A:BR}, 
                    {69,70},0)), CHAR(10))), "♦", ), 
    IF(D3<>"", SUBSTITUTE(TRANSPOSE(SPLIT(TEXTJOIN(CHAR(10)&CHAR(10)&"♦", 1, 
        VLOOKUP(D3, {Sheet3-pivot!AR:AR, Sheet3-pivot!A:BR}, 
                    {69,70},0)), CHAR(10))), "♦", ),
    IF(E3<>"", SUBSTITUTE(TRANSPOSE(SPLIT(TEXTJOIN(CHAR(10)&CHAR(10)&"♦", 1, 
        VLOOKUP(E3, {Sheet3-pivot!W:W, Sheet3-pivot!A:BR}, 
                    {69,70},0)), CHAR(10))), "♦", ),
    IF(F3<>"", SUBSTITUTE(TRANSPOSE(SPLIT(TEXTJOIN(CHAR(10)&CHAR(10)&"♦", 1, 
        VLOOKUP(F3, {Sheet3-pivot!Z:Z, Sheet3-pivot!A:BR}, 
                    {69,70}, 0)), CHAR(10))), "♦",),
                    ))))))

Поиск возвращает все значения, кроме QR-кода, который будет строкой 70 (это ...{69,70}...). Ячейка выглядит пустой, как будто в соответствующем столбце сводной таблицы ничего не было.

Цель поиска значений в (Sheet4-search) заключается в том, что на них можно ссылаться в будущем новом листе / вкладке с печатным отчетом в зависимости от того, что было найдено.

Мое единственное предположение на данный момент состоит в том, что это может быть потому, что QR - это изображение. Однако, если, например, я использую простую =BQ3 (ячейка с сгенерированным QR), ссылка работает отлично.

1 Ответ

1 голос
/ 08 июня 2019

вам нужно будет добавить его в массив {} отдельно, например:

0

=ARRAYFORMULA(
        IF(B3<>"", {SUBSTITUTE(TRANSPOSE(SPLIT(TEXTJOIN(CHAR(10)&CHAR(10)&"♦", 1, 
            VLOOKUP(B3, {'Sheet3-pivot'!AN:AN, 'Sheet3-pivot'!A:BR}, 
                        {2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,71},
 0)), CHAR(10))), "♦", ); VLOOKUP(B3, {'Sheet3-pivot'!AN:AN, 'Sheet3-pivot'!A:BR}, 70, 0)},

        IF(C3<>"", {...............
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...