Как да попълвате автоматично клетките в Excel въз основа на друга клетка

  • Споделя Това
Hugh West

Колко хубаво би било, ако клетките се запълват автоматично? В повечето случаи това ще ни хареса. Днес ще ви покажем как да запълвате автоматично клетките в Excel въз основа на стойността от друга клетка. За тази сесия ще използваме Excel 2019, не се колебайте да използвате предпочитаната от вас версия.

Първо, нека се запознаем с набора от данни, който е в основата на днешните примери.

Тук имаме таблица, която съдържа информация за служителите, като например тяхното име, идентификационен номер, адрес, съответния отдел и дата на постъпване на работа. Като използваме тези данни, ще видим как да попълваме клетките автоматично.

Имайте предвид, че това е основен набор от данни с фиктивни данни. в реалния живот може да се сблъскате с много по-голям и сложен набор от данни.

Практическа работна тетрадка

Можете да изтеглите работната тетрадка за упражнения от връзката по-долу.

Автоматично запълване на клетките в Excel въз основа на друга клетка.xlsx

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

В този пример сме задали такъв начин, че при задаване на име на служител ще намерим информацията за него автоматично.

Тук сме въвели информационни полета, отделени от оригиналната таблица. Да кажем, че сме задали Име, Robert .

След това трябва да получим подробности за Робърт . Нека проучим как можем да направим това.

1. Използване на функцията VLOOKUP

Само за момент забравете за "автоматично попълване" и помислете за извличане на данни, отговарящи на критериите, кои функции ви идват наум? Това е съвсем очевидно, VLOOKUP е един от тях.

VLOOKUP търси данни, подредени вертикално. За повече информация вижте тази статия за VLOOKUP.

Сега ще напишем формула, като използваме VLOOKUP функция, която извлича точните данни, които искаме в дадена клетка.

Нека напишем формулата за получаване на идентификатора на служителя

=IFERROR(VLOOKUP($I$4,$B$4:$F$9,2,0),"")

В рамките на VLOOKUP вмъкнахме името ( I4) като lookup_value . Тогава целият диапазон на таблицата е lookup_array .

Сайтът Идентификатор на служителя е втората колона, така че сме задали 2 като номер на колона (column_num) .

Използвахме IFERROR функция за приключване на VLOOKUP Това ще изтрие всички грешки, които възникват във формулата (за да научите повече за функцията, посетете статията: IFERROR).

За да извлечем името на отдела, трябва да променим формулата,

=IFERROR(VLOOKUP($I$4,$B$4:$F$9,3,0),"")

Тук сме променили номер на колона (column_num) в съответствие с позицията в оригиналната таблица. Отдел е третата колона, така че използвахме 3.

За Дата на присъединяване и Адрес, формулата ще бъде

=IFERROR(VLOOKUP($I$4,$B$4:$F$9,4,0),"")

И

=IFERROR(VLOOKUP($I$4,$B$4:$F$9,5,0),"")

Намерихме данните за служителя. Сега променете името и клетките ще се актуализират автоматично.

VLOOKUP с падащ списък

По-рано предоставихме името ръчно. Понякога това може да изглежда времеемко, както и объркващо.

За да решим проблема, можем да направим падащ списък за името на служителя. Вижте статията, за да научите повече за създаването на падащ списък.

В Утвърждаване на данните диалогов прозорец изберете Списък и вмъкнете препратката към клетките с имената.

B4:B9 е обхватът, който съдържа имената.

Сега ще намерим падащия списък.

Сега можем да изберем името по-ефективно и бързо.

Другите клетки се попълват автоматично, тъй като сме използвали VLOOKUP .

2. Използване на функцията INDEX - MATCH

Операцията, която извършихме чрез VLOOKUP може да се направи алтернативно. Можем да използваме комбинацията от INDEX-MATCH за автоматично попълване на клетките.

MATCH определя позицията на стойност за търсене в ред, колона или таблица. INDEX връща стойността на дадено място в даден диапазон. За да научите повече, посетете статиите: INDEX, MATCH.

Формулата ще бъде следната

=IFERROR(INDEX($C$4:$C$9,MATCH($I$4,$B$4:$B$9,0)),"")

Тук нашата формула получава идентификационния номер, тъй като сме предоставили диапазона на идентификационните номера в рамките на INDEX и MATCH функцията предоставя номера на реда, съответстващ на стойността на критерия в таблицата ( B4:B9 ).

За да изведете Отдел ще променим обхвата в INDEX и формулата ще бъде следната

=IFERROR(INDEX($D$4:$D$9,MATCH($I$4,$B$4:$B$9,0)),"")

Отделите са в диапазона от D4 към D9 .

Формулата за Дата на присъединяване ще бъде

=IFERROR(INDEX($E$4:$E$9,MATCH($I$4,$B$4:$B$9,0)),"")

И за адреса

=IFERROR(INDEX($F$4:$F$9,MATCH($I$4,$B$4:$B$9,0)),"")

Сега, за да изясним, нека изтрием селекцията и изберем някое от имената

Ще видите, че другите клетки се попълват автоматично.

3. Използване на функцията HLOOKUP

Ако данните ви са ориентирани хоризонтално, трябва да използвате HLOOKUP За да научите повече за функцията, посетете тази статия: HLOOKUP.

Името полето ще бъде зададено от падащия списък. Останалите полета ще бъдат попълнени автоматично.

За получаване на id ще използваме следната формула

=IFERROR(HLOOKUP($C$11,$C$3:$H$7,2,0),"")

Операцията е подобна на VLOOKUP формула. В рамките на HLOOKUP сме предоставили името като lookup_value и таблицата като lookup_array . Идентификаторите са на втория ред, така че row_num е 2, а за точното съвпадение - 0.

Сега за отдела формулата ще бъде следната

=IFERROR(HLOOKUP($C$11,$C$3:$H$7,3,0),"")

Сайтът Отдел е третият ред, така че row_num е 3 тук.

Нека напишем формулата за датата на присъединяване

=IFERROR(HLOOKUP($C$11,$C$3:$H$7,4,0),"")

Сайтът Дата на присъединяване е четвъртият ред, така че row_num тук е 4. След това за адреса променете номера на реда на 5.

=IFERROR(HLOOKUP($C$11,$C$3:$H$7,5,0),"")

Да изтрием клетките и да изберем име от падащия списък

След като изберете името, ще видите, че другите клетки се попълват автоматично.

4. INDEX-MATCH за редове

Можем да използваме и INDEX MATCH комбинация за редовете. Формулата ще бъде следната

=IFERROR(INDEX($C$4:$H$4,MATCH($C$11,$C$3:$H$3,0)),"")

Това е за извеждане на идентификатора, затова използвахме C4:H4 в INDEX функция, която е Идентификатор на служителя ред.

Променете обхвата на реда, за да намерите отдела

=IFERROR(INDEX($C$5:$H$5,MATCH($C$11,$C$3:$H$3,0)),"")

По същия начин променете номера на реда за датата на присъединяване и адреса.

=IFERROR(INDEX($C$6:$H$6,MATCH($C$11,$C$3:$H$3,0)),"")

Тук C6:H6 е Дата на присъединяване ред.

И C7:H7 е Адрес ред, така че формулата за извеждане на адреса ще бъде като тази, посочена по-долу

=IFERROR(INDEX($C$7:$H$7,MATCH($C$11,$C$3:$H$3,0)),"")

Заключение

Това е всичко за днес. Изброихме няколко начина за автоматично попълване на клетки въз основа на друга клетка. Надявам се, че това ще ви бъде полезно. Не се колебайте да коментирате, ако нещо ви се струва трудно за разбиране. Споделете с нас други методи, които сме пропуснали тук.

Хю Уест е опитен обучител и анализатор на Excel с над 10 години опит в индустрията. Има бакалавърска степен по счетоводство и финанси и магистърска степен по бизнес администрация. Хю има страст към преподаването и е разработил уникален подход на преподаване, който е лесен за следване и разбиране. Неговите експертни познания по Excel са помогнали на хиляди студенти и професионалисти по целия свят да подобрят уменията си и да постигнат отлични резултати в кариерата си. Чрез своя блог Хю споделя знанията си със света, като предлага безплатни уроци за Excel и онлайн обучение, за да помогне на хората и фирмите да достигнат пълния си потенциал.