Agregar campo calculado en tabla dinámica
Escenarios de uso posibles
Cuando crea una tabla dinámica basada en datos conocidos, se encuentra con que los datos no son los que desea. Los datos que desea es la combinación de estos datos originales. Por ejemplo, necesita sumar, restar, multiplicar y dividir los datos originales antes de querer los datos. En ese momento, necesita crear un campo calculado y establecer la fórmula correspondiente para el cálculo. Luego realizar algunas estadísticas y otras operaciones en el campo calculado.
Cómo agregar un campo calculado en una tabla dinámica en Excel
Para insertar un campo calculado en una tabla dinámica en Excel, siga estos pasos:
- Seleccione la tabla dinámica a la que desea agregar un campo calculado.
- Vaya a la pestaña Analizar tabla dinámica en la cinta.
- Haga clic en “Campos, elementos y conjuntos” y luego seleccione “Campo calculado” en el menú desplegable.
- En el campo “Nombre”, ingrese un nombre para el campo calculado.
- En el campo “Fórmula”, ingresa la fórmula para el cálculo que deseas realizar utilizando los nombres adecuados de los campos de la tabla dinámica y los operadores matemáticos correspondientes.

- Haga clic en “ok” para crear el campo calculado.
- El nuevo campo calculado aparecerá en la Lista de campos de la Tabla Dinámica bajo la sección de Valores.
- Arrastre el campo calculado a la sección de Valores de la Tabla Dinámica para mostrar los valores calculados.

Cómo agregar un campo calculado en la tabla dinámica usando la biblioteca Aspose.Cells for JavaScript a través de C++
Agregar campo calculado al archivo de Excel utilizando Aspose.Cells for JavaScript vía C++. Consulte el siguiente ejemplo de código. Después de ejecutar el código de ejemplo, se añadirá una tabla dinámica con campo calculado a la hoja de trabajo.
- Establece los datos originales y crea una tabla dinámica.
- Crea el campo calculado de acuerdo con el CampoPivote existente en la tabla dinámica.
- Agrega el campo calculado al área de datos.
- Finalmente, guarda el libro en formato XLSX de salida.
Código de muestra
<!DOCTYPE html>
<html>
<head>
<title>Aspose.Cells Example</title>
</head>
<body>
<h1>PivotTable Example</h1>
<input type="file" id="fileInput" accept=".xls,.xlsx,.csv" />
<button id="runExample">Run Example</button>
<a id="downloadLink" style="display: none;">Download Result</a>
<div id="result"></div>
</body>
<script src="aspose.cells.js.min.js"></script>
<script type="text/javascript">
const { Workbook, SaveFormat, PivotFieldType, Utils } = AsposeCells;
AsposeCells.onReady({
license: "/lic/aspose.cells.enc",
fontPath: "/fonts/",
fontList: [
"arial.ttf",
"NotoSansSC-Regular.ttf"
]
}).then(() => {
console.log("Aspose.Cells initialized");
});
document.getElementById('runExample').addEventListener('click', async () => {
// Instantiate a new Workbook
const workbook = new Workbook();
// Obtain the reference of the newly added worksheet
const ws = workbook.worksheets.get(0);
const cells = ws.cells;
// Setting the value to the cells (converted putValue -> value)
let cell = cells.get("A1");
cell.value = "Fruit";
cell = cells.get("B1");
cell.value = "Count";
cell = cells.get("C1");
cell.value = "Price";
cell = cells.get("A2");
cell.value = "Apple";
cell = cells.get("A3");
cell.value = "Mango";
cell = cells.get("A4");
cell.value = "Blackberry";
cell = cells.get("A5");
cell.value = "Cherry";
cell = cells.get("B2");
cell.value = 5;
cell = cells.get("B3");
cell.value = 3;
cell = cells.get("B4");
cell.value = 6;
cell = cells.get("B5");
cell.value = 4;
cell = cells.get("C2");
cell.value = 5;
cell = cells.get("C3");
cell.value = 20;
cell = cells.get("C4");
cell.value = 30;
cell = cells.get("C5");
cell.value = 60;
// Adding a PivotTable to the worksheet (converted getPivotTables -> pivotTables)
const i = ws.pivotTables.add("=A1:C5", "D10", "PivotTable1");
// Accessing the instance of the newly added PivotTable
const pivotTable = ws.pivotTables.get(i);
pivotTable.addFieldToArea(PivotFieldType.Row, 0);
// Adding a calculated field to PivotTable and drag it to data area.
pivotTable.addCalculatedField("total", "=Count*Price", true);
pivotTable.refreshData();
pivotTable.calculateData();
// Saving the modified Excel file
const outputData = workbook.save(SaveFormat.Xlsx);
const blob = new Blob([outputData]);
const downloadLink = document.getElementById('downloadLink');
downloadLink.href = URL.createObjectURL(blob);
downloadLink.download = 'out.xlsx';
downloadLink.style.display = 'block';
downloadLink.textContent = 'Download Excel File';
document.getElementById('result').innerHTML = '<p style="color: green;">PivotTable created successfully! Click the download link to get the file.</p>';
});
</script>
</html>