Eu não acho que você pode fazê-lo no Excel nativo, mas se você estiver disposto a usar um add-in, é possível. O add-in Funfun permite que você crie este tipo de gráfico usando Javascript no Excel.
Aqui está um código de trabalho que escrevi para você:
Eu usei o formato que você queria, eu apenas alterei os dados para criar dois retângulos diferentes, ambos com apenas duas coordenadas.
Como você pode ver neste link, usei um editor on-line do Funfun no qual inseri sua tabela na planilha incorporada.
Eu uso um arquivo JSON para obter os dados da planilha para o meu código javascript:
{
"data": "=A1:E3"
}
Eu, então, armazeno os dados em variáveis locais e crio meus retângulos com as coordenadas corretas, como:
/* 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'
});
}
a matriz shapes
é para os retângulos e a trace
para rotular cada retângulo.
Você pode personalizar seu gráfico como quiser, pois há muitas opções disponíveis, essa é a beleza do javascript e suas poderosas bibliotecas. Para este exemplo, usei plotly.js
Você pode carregá-lo no Excel colando o URL no suplemento do Funfun Excel . Aqui está como se parece com o meu exemplo:
Editar
Sevocêquiserescrevertextodentrodasformas,bastaprecisardeoutrasvariáveislocaiscomosvaloresarmazenadoseencontrarascoordenadascorretascomo:
vartextInRectangles=["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'
});
Eu mudei o link do exemplo à frente.
Divulgação: sou um desenvolvedor do Funfun.