Si lo usa para el cálculo dentro de una función, le sugiero que use matrices de celdas, ya que son más fáciles de manejar, gracias p. Ej. a CELLFUN.
Sin embargo, si lo usa para almacenar datos (y devolver resultados), es mejor devolver las estructuras, ya que los nombres de campo son (deberían) autodocumentados, por lo que no necesita recordar qué información tenía en la columna 7 de tu matriz de células. Además, puede incluir fácilmente un campo de "ayuda" en su estructura, donde puede agregar alguna explicación adicional de los campos, si es necesario.
Las estructuras también son útiles para el almacenamiento de datos ya que puede, si desea actualizar su código en una fecha posterior, reemplazarlos con objetos sin necesidad de cambiar su código (al menos en caso de que haya realizado una asignación previa de su estructura) Tienen el mismo sintaxis, pero los objetos le permitirán agregar más funcionalidades, como propiedades dependientes (es decir, propiedades que se calculan sobre la marcha en función de otras propiedades).
Finalmente, tenga en cuenta que las celdas y las estructuras agregan unos pocos bytes de sobrecarga a cada campo. Por lo tanto, si desea usarlos para manejar grandes cantidades de datos, es mucho mejor que use estructuras/celdas que contienen matrices, en lugar de tener grandes matrices de estructuras/celdas donde los campos/elementos solo contienen escalares.
Con matrices de celdas necesita algunos metadatos para identificar el contenido de la celda. Los nombres de campo cuidadosamente seleccionados hacen que su código sea autoexplicativo. – zellus