Формула за интелигентен масив: посочете заглавието на колоната в последната непразна клетка на ред

Познавате ли изящния трик за създаване на препратка към заглавие на колона в последната непразна клетка на ред? Най -доброто: Нямате нужда от помощни редове или колони. Толкова е лесно:

Комбинирайте четирите функции IFERROR (), INDEX (), MAX () и IF ()

Управляващият директор по продажбите ще ви изпрати списък на сключените месечно договори за продукти, които се прекратяват ①. Трябва да използвате формула в колона N, за да посочите последния месец от продажбите за всеки продукт - без никакви спомагателни редове или колони. Ако не са сключени повече договори, въведете празна клетка в колоната N.

Този пример, банален на пръв поглед, се оказва здрава гайка, без да се използват помощни линии или колони. като Excel за практика-Читателите разбиват гайката! Имаме следната формула на масива в клетката за решаване на проблеми N2 създаден ②:

{= IFERROR (INDEX ($ B $ 1: $ M $ 1; MAX (IF (B2: M2 ""; COLUMN (B2: M2) -1; -1))); "")}}

Погледнете как работи стъпка по стъпка

Започнете с условието IF (), вградено във формулата на масива: {= IFERROR (ИНДЕКС ($ B $ 1: $ M $ 1; MAX (IF (B2: M2 "", КОЛОНА (B2: M2) -1, -1)));"")}

Условието IF () създава фиктивен спомагателен ред във формулата на масива и проверява за клетките В2 до М2независимо дали са празни или не. Ако една клетка е празна, стойността -1 се връща в противен случай чрез функцията COLUMN (), съответният номер на колоната минус стойността 1.
Изваждането на 1 се изисква във формулата, тъй като първата колона в таблицата не съдържа името на месеца, а името на продукта. По -долу ще научите как да използвате функцията INDEX () за показване на съответното име на месец, което - ако не сте извадили 1 - поради допълнителната използвана колона А. би било неправилно от точно една колона.

Ако всички клетки в диапазона В2: М2 са празни, стойността -1 (без продажби на продукти) създава грешка, която използваме за представяне на празна клетка. Активната спомагателна линия може да се види на фиг. ③ в ред 3.

В следващата стъпка отчитате най -голямата стойност с функцията MAX (), в която условието IF () е вложено. Това е стойността 12 в ред 3 (колона 13 минус 1; вижте спомагателния ред на фигура ③):

{= IFERROR (ИНДЕКС ($ B $ 1: $ M $ 1;MAX (IF (B2: M2 "", КОЛОНА (B2: M2) -1, -1)));"")}

Предавате тази MAX стойност на функцията INDEX (). След това съответният календарен месец се отчита в ред 1. Областта за данни на функцията INDEX () е областта $ B $ 1: $ M $ 1. Предадената MAX стойност - в примера 12 - означава, че дванадесетата стойност в списъка, т.е. Дек за месец декември:

{= ГРЕШКА(ИНДЕКС ($ B $ 1: $ M $ 1; MAX (IF (B2: M2 ""; КОЛОНА (B2: M2) -1; -1)));"")}

Ако всички клетки в месечния диапазон на таблицата са празни, тогава най -голямата стойност е -1 (вижте условието IF () в началото). Ако стойността -1 се предаде на функцията INDEX (), това неизбежно води до стойност на грешка, тъй като списъчната област на функцията INDEX () съдържа само дванадесет записа и следователно не може да намери записа -1. Улавяте тази стойност на грешка с функцията IFERROR () и вместо това връщате празен низ. В примера това е така за продукт С в ред 4, тъй като не може да се сключи повече договор за този продукт:

{=ГРЕШКА(ИНДЕКС ($ B $ 1: $ M $ 1; MAX (IF (B2: M2 "", КОЛОНА (B2: M2) -1, -1)));"")}

Тъй като това е формула за масив, завършете въвеждането на формулата с клавишната комбинация Ctrl + Shift + Enter.

Така ще помогнете за развитието на сайта, сподели с приятелите си

wave wave wave wave wave