اکسل بهطور فریبندهای قدرتمند است. هر بار که فکر میکنم تمام توان آن را استخراج کردهام، بهسکوت در دیگری را نشان میدهد که میتوانید با یک تابع باز کنید.
Excel بهطور فریبندهای قدرتمند است. هر بار که فکر میکنم تمام توان آن را استخراج کردهام، بهسکوت یک در دیگر را که میتوانید با یک تابع باز کنید، نشان میدهد.
این بار، ترفند ساده است و شاید ناخواسته باشد، اما بههر حال شگفتانگیز است. در واقع ساده است: اکسل میتواند URLها را بسازد، اکسل میتواند هر متن انسانی آشوبگونهای را که به آن میدهید، بهصورت URL‑encode کند، و اکسل میتواند یک تصویر را از یک URL نشان دهد. با ترکیب اینها، اکسل بهیک رابط کاربری سبک برای یک جهان کامل از APIهای رایگان تصویر تبدیل میشود.

فرمولهای کوچک، صرفهجویی بزرگ در زمان.
تابع IMAGE ترفند اصلی است
از آن بهعنوان یک کلاینت API استفاده کنید

بیایید با یک مثال شروع کنیم. فرض کنید میخواهید کدهای QR را در برگه اکسل خود برای یک رویداد یا هر چیز دیگری قرار دهید. نه فقط قرار دادن آنها، بلکه تولید آنها مستقیماً در اکسل. مشکل این است که اکسل تابع QR‑code بومی ندارد، اما نیازی به آن ندارید. اگر سرویسی بتواند یک تصویر را از طریق یک URL تولید کند، Excel میتواند آن را با IMAGE() بیاورد.
تنها بخشی که مردم را سردرگم میکند، کدگذاری است. اگر ENCODEURL() را رد کنید، فرمولهای شما تا زمانی که نام کسی شامل فاصله، خط تیره، ایموجی یا هر چیز انسانی دیگری باشد، کار میکند. ENCODEURL() همان چیزی است که از خراب شدن همه چیز جلوگیری میکند.
فرض کنید برگه شما شامل نام مهمانها و این باشد که آیا بلیط دارند یا نه. میخواهید کد QR شامل نام مهمان و وضعیت پرداخت آن باشد. QRServer یک مثال ساده از یک API تصویر ثابت QR است. قالب URL به این شکل است:
https://api.qrserver.com/v1/create-qr-code/?size=200x200&data=[YOURDATA]&color=000000&bgcolor=FFFFFF
در سلول E2، این فرمول کامل کد QR را تولید میکند:
E2
=IMAGE("https://api.qrserver.com/v1/create-qr-code/?size=200x200&data="&ENCODEURL("name="&A2&"; paid="&D2)&";color=000000&bgcolor=FFFFFF")
آن را بهپایین بکشید و هر ردیف کد QR مخصوص خود را دریافت میکند. یکی را با دوربین گوشی خود اسکن کنید تا محتوای آن را ببینید. اگر میخواهید محتوای اسکنشده مفیدتر باشد، مقادیر را بههم نزنید. آنها را برچسب بزنید. میتوانید فیلدهای متعدد را به این شکل کدگذاری کنید:
=IMAGE("https://api.qrserver.com/v1/create-qr-code/?size=200x200&data="&ENCODEURL("name="&A2&"; age="&B2&"; gender="&C2&"; paid="&D2))
بیشتر از کدهای QR است
ایجاد نشانهای سبک GitHub داخل اکسل

یک بار که کدهای QR را انجام دادید، ذهن شما فوراً میپرسد: چه چیز دیگری میتوانم بهصورت تصویر تولید کنم؟ این همان زمان است که shields.io وارد میشود. این نشانهای کوچک GitHub را همهجا دیدهاید. آنها صرفاً تصاویری هستند که از URLها تولید میشوند. اگر A2 شامل یک نام باشد، این یک نشان ساده آبی میسازد:
A2
=IMAGE("https://img.shields.io/badge/"&ENCODEURL(A2)&"-blue.png?style=flat")
حالا بخش جالب: conditional formatting داخل نشان. اگر D2 برابر TRUE باشد، آن را آبی کنید؛ اگر FALSE باشد، قرمز:
D2
TRUE
FALSE
=IMAGE("https://img.shields.io/badge/Guest-"&ENCODEURL(A2)&IF(D2,"-blue.png?style=flat","-red.png?style=flat"))
اگر میخواهید نشان یک برچسب و مقدار (مثلاً وضعیت پرداخت/عدم پرداخت) نشان دهد، میتوانید این کار را انجام دهید:
=IMAGE("https://img.shields.io/badge/"&ENCODEURL("Paid")&"-"&ENCODEURL(IF(D2,"Yes","No"))&".png?style=flat")
ساختن نموداری که خودش بهروز میشود
این بار بهصورت تصویر

این جایی است که ترفند دیگر بهنظر یک حقه نیست و شبیه به یک داشبورد احساس میشود. QuickChart میتواند نمودارها را از یک URL تولید کند. یعنی میتوانید پیکربندی نمودار را در اکسل بسازید، سپس تصویر را مستقیماً در یک سلول رندر کنید.
اگر B2:D2 شامل اعدادی باشند که میخواهید نمودار کنید (مانند سه مجموع هفتگی)، این یک تصویر نمودار میلهای ساده ایجاد میکند:
B2:D2
=IMAGE("https://quickchart.io/chart?c="&ENCODEURL("{type:'bar',data:{labels:['W1','W2','W3'],datasets:[{label:'Totals',data:["&B2&","&C2&","&D2&"]}]}}"))
میتوانید همان الگو را برای ساختن نمودار برای هر ردیف، هر شخص، هر پروژه یا هر چیز دیگری بکار ببرید. این جایگزین خوبی برای sparklines اکسل است، اگر به کنترل بیشتری نیاز دارید.
همین الگوی «URL + کدگذاری + رندر تصویر» در Google Sheets نیز کار میکند که آن را حتیالامکانپذیرتر میسازد.

ابزارهای رایگان نمودار کشی برای همه!
گزارش وضعیت هوای زنده در برگه اکسل شما
چترتان را فراموش نکنید

اگر بهدنبال چیزی کاربردیتر هستید، wttr.in میتواند یک تصویر هواشناسی تولید کند. اگر A1 شامل یک مکان باشد (مثلاً شیکاگو)، این یک گرافیک هواشناسی به سبک ترمینال به شما میدهد:
A1
=IMAGE("https://wttr.in/"&(A1)&".png?0_m_q_n")
عکسهای پروفایل و جایگزینها
وقتی به “چیزی بصری” برای هر ردیف نیاز دارید
![]()
هر اسپردشیت نیازی به کدهای QR ندارد. گاهی فقط میخواهید یک ستون بصری تمیز داشته باشید تا برگه شبیه یک سیستم واقعی بهجای یک جدول باشد.
اگر در A2 یک ایمیل داشته باشید و بخواهید یک تصویر آواتار ثابت داشته باشید، Gravatar میتواند یکی تولید کند. این فرمول یک آواتار به سبک identicon بدون اینکه چیزی آپلود کنید، ایجاد میکند:
A2
=IMAGE("https://www.gravatar.com/avatar/"&LOWER(TEXTJOIN("",TRUE,DEC2HEX(CODE(MID(A2,SEQUENCE(LEN(A2)),1)),2)))&"?d=identicon&s=200")
حتی میتوانید میمها را مستقیماً در اکسل بسازید
(چون طبیعتاً)
بهمحض اینکه بپذیرید اکسل میتواند تصاویر تولید شده توسط API را نمایش دهد… شروع به آزمایش میکنید. این یک مثال سرگرمکننده است: Memegen تصاویر میم را از یک URL تولید میکند که متن بالا و پایین بخشی از مسیر هستند.
اگر A2 متن بالایی و A3 متن پایینی را داشته باشد، این کار میکند:
A2
A3
=IMAGE("https://api.memegen.link/images/buzz/"&ENCODEURL(A2)&"/"&ENCODEURL(A3)&".jpg",2)
«buzz» را با نام قالب دیگری تعویض کنید و همان الگو اعمال میشود.
دادههای حساس را در APIهای تصویری شخص ثالث پیست نکنید. فرض کنید سرویسها میتوانند درخواستها را لاگ کنند. اگر این کار را برای کار انجام میدهید، اجازه بگیرید. و اگر در حال ساختن چیزی هستید که به آن اهمیت میدهید، ابتدا با دادههای ساختگی تست کنید.
IMAGE
و
ENCODEURL
بهطور مؤثر اکسل را به یک سازنده URL و ویرایشگر پارامتر تبدیل میکنند که میتواند خروجیها را رندر کند. به همین دلیل این ترفند بیپایان بهنظر میرسد. وقتی آن را درک کردید، شروع به دیدن APIها در همهجا میکنید (و امیدواریم از آنها بهخوبی استفاده کنید).
IMAGE
ENCODEURL
وقتی این را به دوستانم نشان دادم، اولین چیزی که از دهانم بیرون آمد همان جملهای بود که همیشه وقتی اکسل یک ترفند جدید میآورد میگویم: آیا میدانستید میتوانید این کار را در اکسل انجام دهید؟ پس… آیا میدانستید؟ ده سال گذشته و اکسل هنوز یک سورپرایز دیگر برای من دارد.