Екцел формула: КСЛООКУП разликује велика и мала слова -

Генеричка формула

=XLOOKUP(1,--EXACT(range1,"RED"),range2)

Резиме

Да бисте направили тачно подударање великих и малих слова, можете да користите функцију КСЛООКУП са ЕКСАЦТ функцијом. У приказаном примеру, формула у Ф5 је:

=XLOOKUP(1,--EXACT(B5:B15,"RED"),B5:D15)

који се подудара са „ЦРВЕНО“ (осетљиво на велика и мала слова) и враћа цео ред.

Објашњење

Сама по себи, функција КСЛООКУП не разликује велика и мала слова. Вредност претраживања „ЦРВЕНА“ подудара се са „црвена“, „ЦРВЕНА“ или „Црвена“. Ово ограничење можемо заобићи конструисањем одговарајућег низа претраживања за КСЛООКУП са логичким изразом.

Радећи изнутра ка ван, да бисмо КСЛООКУП-у дали могућност да се подудара са великим и малим словима, користимо ЕКСАЦТ функцију на следећи начин:

EXACT(B5:B15,"RED") // test for "RED"

Будући да у опсегу Е5: Д15 има 11 вредности, ЕКСАЦТ враћа низ са 11 ТРУЕ ФАЛСЕ резултата попут овог:

(FALSE;FALSE;FALSE;FALSE;TRUE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE)

Приметите да положај ТРУЕ одговара реду у којем је боја „ЦРВЕНА“.

Ради краткоће (и да бисмо омогућили да се логика лако прошири логичком логиком), присиљавамо вредности ТРУЕ ФАЛСЕ на 1с и 0с са двоструким негативом:

--EXACT(B5:B15,"RED") // convert to 1s and 0s

који даје низ попут овог:

(0;0;0;0;1;0;0;0;0;0;0)

Приметите да положај 1 одговара реду у којем је боја „ЦРВЕНА“. Овај низ се враћа директно у функцију КСЛООКУП као аргумент низа претраживања.

Сада можемо једноставно формулу да:

=XLOOKUP(1,(0;0;0;0;1;0;0;0;0;0;0),B5:D15)

Са траженом вредношћу 1, КСЛООКУП проналази 1 на 5. позицији и враћа 5. ред у низу за повратак, Б9: Д9.

Проширивање логике

Структура логике може се лако проширити. На пример, да бисте сузили подударање на „ЦРВЕНО“ у месецу априлу, можете да користите следећу формулу:

=XLOOKUP(1,EXACT(B5:B15,"RED")*(MONTH(C5:C15)=4),B5:D15)

Овде, зато што сваки од два израза враћа низ вредности ТРУЕ ФАЛСЕ, и зато што се ти низови множе заједно, математичка операција присиљава ТРУЕ и ФАЛСЕ вредности на 1с и 0с. Није неопходно користити двоструко негативан.

Како вредност претраживања остаје 1, као у горњој формули.

Прва и последња утакмица

Обе горње формуле ће вратити прво подударање „ЦРВЕНОГ“ у скупу података. Ако вам је потребно последње подударање, можете извршити обрнуто претраживање постављањем аргумента начина претраживања за КСЛООКУП на -1:

=XLOOKUP(1,--EXACT(B5:B15,"RED"),B5:D15,,,-1) // last match

Ако требате да вратите резултате из више подударања, погледајте функцију ФИЛТЕР.

Занимљиви Чланци...