Previous topicNext topic
Help > 开发指南 > Excel > API > 示例 > 公式 >
如何:创建数组公式

此示例演示如何创建数组公式。

Vb.Net
'创建一个数组公式,将单元格范围A2到A11中包含的值相乘由B2到B11范围内的相应细胞,并在单元格C2到C11中显示结果。
worksheet.Range.FromLTRB(2,1,2,10).ArrayFormula = "=A2:A11*B2:B11"

'创建一个数组公式,将单元格范围C2到C11中包含的值乘以2,并在单元格D2到D11中显示结果。
worksheet.Range("D2:D11").ArrayFormula = "=C2:C11*2"

'创建一个数组公式,将单元格范围B2到D11中包含的值相乘,将结果相加,并在单元格D12中显示总和。
worksheet.Cells("D12").ArrayFormula = "=SUM(B2:B11*C2:C11*D2:D11)"

'重新标注数组公式范围的大小:删除数组公式,并使用相同的公式创建一个新的区域。
If worksheet.Cells("C13").HasArrayFormula Then
    Dim af As String = worksheet.Cells("C13").ArrayFormula
    worksheet.Cells("C13").GetArrayFormulaRange().ArrayFormula = String.Empty
    worksheet.Range.FromLTRB(2,1,2,10).ArrayFormula = af
End If

C#
// 创建一个数组公式,将单元格范围A2到A11中包含的值相乘由B2到B11范围内的相应细胞,并在单元格C2到C11中显示结果。
worksheet.Range.FromLTRB(2, 1, 2, 10).ArrayFormula = "=A2:A11*B2:B11";

// 创建一个数组公式,将单元格范围C2到C11中包含的值乘以2,并在单元格D2到D11中显示结果。
worksheet.Range["D2:D11"].ArrayFormula = "=C2:C11*2";

// 创建一个数组公式,将单元格范围B2到D11中包含的值相乘,将结果相加,并在单元格D12中显示总和。
worksheet.Cells["D12"].ArrayFormula = "=SUM(B2:B11*C2:C11*D2:D11)";

// 重新标注数组公式范围的大小:删除数组公式,并使用相同的公式创建一个新的区域。
if (worksheet.Cells["C13"].HasArrayFormula)
{
    string af = worksheet.Cells["C13"].ArrayFormula;
    worksheet.Cells["C13"].GetArrayFormulaRange().ArrayFormula = string.Empty;
    worksheet.Range.FromLTRB(2, 1, 2, 10).ArrayFormula = af;
}