Динамични изображения в Excel

Посвещавам тази статия на Стефан Атанасов (известен като Stefan Wolf и Брадли). Един младеж, който често ме е вдъхновявал с отдадеността хъм своето хоби и щедростта, с която споделяше знание и помагаше на другите да учат. Почивай в мир, друже! А ти, уважаеми читателю, не слушай знайни и незнайни експерти, а се пази. КОВИД-19 е коварен

 

 


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

Какво са динамични изображения в Excel?

Това са изображения, които се променят в зависимост от стойността в дадена клетка. Например имаме имената и пред тях емблемите на всички 14 отбора от нашата елитна А Професионална Футболна Група (колко е елитна е друг въпрос).

Искаме, когато въведем в някоя клетка „Арда (Кърджали)“ да се появи емблемата на този отбор. Съответно, когато в клетката е въведено „Ботев (Пловдив)“ да се появи емблемата на най-стария футболен клуб в България. А при избор на „Черно Море“ – настоящата емблема на наследника на първия футболен шампион на България.

динамични изображения в Excel

Ето и как се правят такива динамични изображения в Excel

Стъпка1: Подреждане на изображенията

Най-напред определяме къде ще бъдат имената на отборите и клетката, чиято стойност ще се променя динамично. За удобство можем да създадем падащо меню в тази клетка, което ще даде възможност за избор на стойност от списък. Вместо с падащ списък, клетката може да се променя чрез формула или макрос. Също така,  променящата се клетка може да не е разположена до списъка с изображенията, а дори в друг работен лист.

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

динамични изображения в Excel

В случая клетките са оградени с черна линия, за да се види по-ясно техният размер. Но имайте предвид, че тази линия ще се вижда, когато започнем да използваме динамичните изображения. Ако не желаете това – не слагайте линия

Следва най-досадната и времеотнемаща операция – да оразмерим и поставим всяко изображение срещу името на съответния отбор

динамични изображения в Excel

Стъпка2: Създаване на динамична наименована област (Dynamic Name Range)

Това на този етап изглежда не много логично, но смисълът ще се изясни като завършим процеса. За момента с CTRL + F3 извикваме менюто Name Manager и избираме New

В менюто, което се появява задаваме име (Name). То трябва да започва с буква и да не съдържа интервал. Аз съм избрал оригиналното DPic, съкратено от Dynamic Picture

динамични изображения в Excel

В полето Comment можем да напишем кратък коментар за тази наименована област. Това не е задължително, но може да бъде полезно и удобно. Особено, ако използвате повече такива области във вашия файл.

В Refers to записваме следната формула:

=INDEX(Sheet1!$B$3:$B$17;MATCH(Sheet1!$E$2;Sheet1!$C$3:$C$17;0))

Оцветеното в червено е областта, където са изображенията. В моя случай – Sheet1!$B$3:$B$17

В синьо е клетката, която ще се променя – в примера това е клетка Е2 на Sheet1

И накрая в зелено е областта, в която са имената на отборите, т.е. C$3:$C$17 в Sheet1

Точно така това е един класически случай на употреба на Index/Match – формулата „вижда“ стойността в клетка Е2, отива в областта С3:С17, намира я и връща това, което се намира в колона В срещу тази стойност.

Стъпка3: Създаване на динамично изображение

Вече сме почти на финала. Това, което трябва да направим е да копираме някое от изображенията и да го поставим, където искаме да бъде. Няма значение кое ще бъде, аз съм взел емблемата на Арда Кърджали.

динамични изображения в Excel

След като я нагласим, където трябва, маркираме я и кликаме във формула бара, където записваме: = DPic

Точно така – Ексел позволява всяко картинка да показва стойността в дадена клетка.

Вижте какво се получава, когато натисна Enter

Така и трябва да бъде, защото:

  • в клетка Е2 пише Ботев (Пловдив), което м/у другото съвсем случайно се получи
  • тогава динамичната област DPic търси в С2:С17 стойността „Ботев (Пловдив)“, намира я в клетка С6 и връща съдържанието на клетката в колона В6
  • Но там се намира емблемата на Ботев (Пловдив) и затова нашата картинка автоматично показва нея

А като изберем Царско Село, резултатът е това:

Ами … това беше. Както виждате – създаването на динамични изображения в Excel не е особено сложно, макар да е доста ефектно. Доста се постарах да го обясня нагледно и разбираемо, но ако не съм се справил – вижте това видео на Лейла Гарани.

В интерес на истината това не е единственият начин да се направят динамични изображения в Ексел. Срещал съм поне още 2 начина, но те изискват VBA.

Публикувано в Хитрини. Постоянна връзка.