Excelには秘められた力があります。その可能性を使い尽くしたと思った瞬間、たった一つの関数で開ける新たな扉が静かに姿を現すのです。
今回のトリックはシンプルで、おそらく意図的ではないかもしれませんが、それでも素晴らしいものです。実にシンプルです。ExcelはURLを生成し、URLとして送られてきた雑然としたテキストをマークアップし、そのURLから画像をレンダリングします。これらを組み合わせることで、Excelは無料の画像APIの世界全体への軽量なフロントエンドになります。

クイックリンク
IMAGE関数は基本的なトリックです
APIクライアントとして使用する

例を挙げて説明しましょう。イベントなどでExcelシートにQRコードを挿入したいとします。ただ挿入するだけでなく、Excel内で直接生成したいとします。問題は、ExcelにはネイティブのQRコード生成機能がないことです。しかし、ExcelではQRコード生成機能は必要ありません。URL経由で画像を生成できるサービスがあれば… ExcelはIMAGE()を使ってドラッグします.
唯一の締め切りはコーディングです。これを飛ばしてしまうと エンコードURL()名前にスペース、ダッシュ、絵文字など、人間に似たものが含まれていても、数式は機能します。 エンコードURL() それはあらゆるものの爆発を防ぐものです。
シートにゲストの名前とチケットの有無が記載されているとします。QRコードにはゲストの名前と支払いの有無を記載する必要があります。QRServerは静的QR画像APIのシンプルな例です。URLの形式は次のとおりです。
https://api.qrserver.com/v1/create-qr-code/?size=200x200&data=[YOURDATA]&color=000000&bgcolor=FFFFFFفي E2この完全な数式は QR コードを作成します。
=IMAGE("https://api.qrserver.com/v1/create-qr-code/?size=200x200&data="&ENCODEURL("name="&A2&"; paid="&D2)&"&color=000000&bgcolor=FFFFFF")下にスワイプすると、各行にQRコードが表示されます。スマートフォンのカメラでQRコードをスキャンすると、ペイロードが表示されます。スキャン時にペイロードをより便利に活用したい場合は、複数の値を混ぜずにラベルを付けてください。複数のフィールドには、次のようにコーディングできます。
=IMAGE("https://api.qrserver.com/v1/create-qr-code/?size=200x200&data="&ENCODEURL("name="&A2&"; age="&B2&"; gender="&C2&"; paid="&D2))QR コードだけではありません。
Excel 内で GitHub スタイルのバッジを作成する

QRコードを使い始めると、すぐに「他に画像として何が作れるだろうか?」と自問します。ここでshields.ioの出番です。GitHubの小さなバッジはどこでも見かけるでしょう。これはURLから作成された画像です。セルが A2 名前が含まれている場合は、基本的な青いバッジが作成されます。
=IMAGE("https://img.shields.io/badge/"&ENCODEURL(A2)&"-blue.png?style=flat")さて、ここからが楽しい部分です。 条件付き書式 バッジの内側。価値が 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からグラフを作成できます。つまり、Excelでグラフの設定を作成し、セルに直接画像を表示できるのです。
細胞が B2:D2 プロットしたい数値(たとえば、3 週間の合計)が含まれている場合は、単純な棒グラフ画像が生成されます。
=IMAGE("https://quickchart.io/chart?c="&ENCODEURL("{type:'bar',data:{labels:['W1','W2','W3'],datasets:[{label:'Totals',data:["&B2&","&C2&","&D2&"]}]}}"))このパターンを応用して、クラスごと、人ごと、プロジェクトごと、あるいは物事ごとにチャートを作成することもできます。これは、 Excelの条件行さらに制御したい場合。
同じパターン「URL + CAM + DISPLAY ITEM」は Google Sheets スプレッドシートでも機能するため、より汎用性が高まります。
Excelシートでリアルタイム天気予報
傘を忘れないでください

もっと実用的なものが欲しい場合は、wttr.inで天気画像を生成できます。セルが A1 場所(たとえば、シカゴ)が含まれている場合、この画像にはターミナル スタイルの天気グラフが表示されます。
=IMAGE("https://wttr.in/"&(A1)&".png?0_m_q_n")プロフィール写真とプレースホルダー
各クラスに「目に見えるもの」が必要な場合

すべてのスプレッドシートにQRコードが必要なわけではありません。スプレッドシートが単なる表ではなく、実際のシステムのように見せるために、見やすい列だけで十分な場合もあります。
メールアドレスをお持ちの場合は A2 統一感のあるアバターが必要な場合は、Gravatar で作成できます。以下の式を使えば、何もアップロードしなくても、アイデンティコン風のアバターを作成できます。
=IMAGE("https://www.gravatar.com/avatar/"&LOWER(TEXTJOIN("",TRUE,DEC2HEX(CODE(MID(A2,SEQUENCE(LEN(A2)),1)),2)))&"?d=identicon&s=200")Excel 内で直接ミーム画像を作成することもできます。
(当然)
ExcelでAPI経由で作成された画像を表示できることがわかったら、早速実験してみましょう。面白い例を挙げましょう。MemegenはURLからミーム画像を作成します。URLの上部と下部のテキストはパスの一部です。
<XNUMXxDXNUMX><XNUMXxDXNUMX><XNUMXxAXNUMX><XNUMXxDXNUMX><XNUMXxDXNUMX><XNUMXxBXNUMX><XNUMXxBXNUMX>ا<XNUMXxBXNUMX>ا A2 上部のテキストと A3 以下のテキストが含まれているので、これは機能します。
=IMAGE("https://api.memegen.link/images/buzz/"&ENCODEURL(A2)&"/"&ENCODEURL(A3)&".jpg",2)「buzz」を別のテンプレート名に置き換えても、同じスタイルが適用されます。
サードパーティの画像APIに機密データを貼り付けないでください。これらのサービスはリクエストをログに記録できると想定してください。仕事でこれを行う場合は、必ず許可を得てください。また、本当に情熱を注いでいるものを作る場合は、まずダミーデータでテストしてください。
IMAGE و ENCODEURL これらはExcelをURLジェネレーターとパラメータエディタに変え、出力を表示できるようにします。だからこそ、このトリックは無限に思えるのです。一度理解すれば、あらゆる場所でAPIを目にするようになり、うまく活用できるようになるでしょう。
これを友達に見せた時、口から出た最初の言葉は、Excelが新しい機能を発表するたびにいつも言うのと同じでした。「Excelでこんなことができるって知ってた?」「え、知ってた?」10年経った今でも、Excelは私に新たな驚きを用意してくれています。










