ネイティブのExcelではできないと思いますが、アドインを使用する場合は可能です。Funfunアドインを使用すると、ExcelでJavascriptを使用してこの種のグラフを作成できます。
ここに私があなたのために書いた実用的なコードがあります:
https://www.funfun.io/1/#/edit/5a69ddc9ee0b8c3283c653e0
必要な形式を使用しました。データを変更して、2つの座標のみを持つ2つの異なる長方形を作成しました。
このリンクでわかるように、埋め込みスプレッドシートにテーブルを入力したFunfunのオンラインエディターを使用しました。
JSONファイルを使用して、スプレッドシートからJavaScriptコードにデータを取得します。
{
"data": "=A1:E3"
}
次に、データをローカル変数に保存し、次のように正しい座標で四角形を作成します。
/* we store the data from the spreadsheet in local variables */
var label = [];
var x = [];
var y = [];
for (var i = 1; i < $internal.data.length; i++)
{
label.push($internal.data[i][0]);
x.push([parseInt($internal.data[i][1]), parseInt($internal.data[i][3])]);
y.push([parseInt($internal.data[i][2]), parseInt($internal.data[i][4])]);
}
/* create all the shapes you want with the data stored */
var shapes = [];
var traces = [];
for (var i = 0; i < $internal.data.length - 1; i++) {
shapes.push({
type: 'rectangle',
xref: 'x',
yref: 'y',
fillcolor: 'rgba(50, 171, 96, 0.7)',
x0: x[i][0],
y0: y[i][0],
x1: x[i][1],
y1: y[i][1],
line: {
color: 'rgba(50, 171, 96, 1)'
}
});
traces.push({
x: [x[i][0] + 3.5],
y: [y[i][0] - 2],
text: label[i],
mode: 'text'
});
}
shapes
配列は、長方形のためのものであり、trace
各長方形にラベルを付けることです。
あなたが好きなようにあなたのチャートをカスタマイズすることができます多くのオプションが利用可能です、それはjavascriptとその強力なライブラリの美しさです。この例では、plotly.jsを使用しました
Funfun Excelアドインに URLを貼り付けることで、Excelに読み込むことができます。これが私の例でどのように見えるかです:
編集
図形内にテキストを書きたい場合は、値が格納された別のローカル変数が必要で、正しい座標を見つけることができます:
var textInRectangles = ["First", "second"];
...
traces.push({
x: [x[i][0] + 2.5],
y: [y[i][0] + 4],
text: textInRectangles[i],
textfont: {
color: 'black',
size: 9,
family: 'Arial'
},
mode: 'text'
});
例のリンクを先に変更しました。
開示:私はFunfunの開発者です。