Usando as classes div e atributos CSS apropriados, você pode imitar os efeitos desejados de colspan e rowspan.
Aqui está o CSS
.table {
display:table;
}
.row {
display:table-row;
}
.cell {
display:table-cell;
padding: 5px;
vertical-align: middle;
}
Aqui está o exemplo de HTML
<div class="table">
<div class="row">
<div class="cell">
<div class="table">
<div class="row">
<div class="cell">X</div>
<div class="cell">Y</div>
<div class="cell">Z</div>
</div>
<div class="row">
<div class="cell">2</div>
<div class="cell">4</div>
<div class="cell">6</div>
</div>
</div>
</div>
<div class="cell">
<div class="table">
<div class="row">
<div class="cell">
<div class="table">
<div class="row">
<div class="cell">A</div>
</div>
<div class="row">
<div class="cell">B</div>
</div>
</div>
</div>
<div class="cell">
ROW SPAN
</div>
</div>
</div>
</div>
</div>
</div>
Pelo que estou vendo nas perguntas e na maioria das respostas, as pessoas parecem esquecer que em qualquer div que esteja agindo como uma "célula de tabela", você pode inserir outro div que esteja agindo como uma tabela incorporada e iniciar o processo sobre.
*** Não é glamoroso, mas funciona para quem procura esse tipo de formatação e quer evitar as TABELAS. Se for para DATA LAYOUT, TABLEs ainda funcionam em HTML5.
Esperançosamente, isso ajudará alguém.