# ใช้สูตรแผ่นงานแผนภูมิในงานพรีเซนเทชันบน Android

> ใช้สูตรแบบ Excel ใน Aspose.Slides สำหรับ Android ผ่านแผ่นงานแผนภูมิของ Java และอัตโนมัติการสร้างรายงานในไฟล์ PPT และ PPTX

Source: https://docs.aspose.com/slides/th/androidjava/chart-worksheet-formulas/
Updated: 2026-06-13

## **ภาพรวม**

แผ่นงานแผนภูมิเป็นแหล่งข้อมูลที่อยู่เบื้องหลังแผนภูมิในงานพรีเซนเทชัน มันเก็บชื่อของหมวดหมู่และชุดข้อมูลพร้อมกับค่าตัวเลขที่แผนภูมิแสดงในรูปแบบกราฟิก ใน Aspose.Slides แผ่นงานนี้สามารถเข้าถึงได้ผ่านแผนภูมิข้อมูลเวิร์กบุ๊ก ซึ่งทำให้คุณสามารถทำงานกับข้อมูลแผนภูมิได้ผ่านโปรแกรม

บทความนี้อธิบายวิธีการใช้สูตรในแผ่นงานแผนภูมิเพื่อให้ค่าของเซลล์คำนวณและอัปเดตโดยอัตโนมัติแทนการใส่ค่าด้วยตนเอง แสดงวิธีการกำหนดสูตร การใช้การอ้างอิงแบบ A1‑style และ R1C1‑style การคำนวณสูตรในเวิร์กบุ๊กใหม่ รวมถึงการทำงานกับค่าคงที่ ตัวดำเนินการ การอ้างอิงเซลล์ และฟังก์ชันกำหนดล่วงหน้าที่รองรับสำหรับแผ่นงานแผนภูมิในงานพรีเซนเทชัน

## **เกี่ยวกับสูตรแผ่นงานแผนภูมิในงานพรีเซนเทชัน**
**แผ่นงานแผนภูมิ** (หรือแผ่นงานแผนภูมิ) ในงานพรีเซนเทชันเป็นแหล่งข้อมูลของแผนภูมิ แผ่นงานแผนภูมิมีข้อมูลที่แสดงบนแผนภูมิในรูปแบบกราฟิก เมื่อคุณสร้างแผนภูมิใน PowerPoint แผ่นงานที่เชื่อมต่อกับแผนภูมินั้นจะถูกสร้างโดยอัตโนมัติด้วย แผ่นงานแผนภูมาถูกสร้างสำหรับทุกประเภทของแผนภูมิ: แผนภูมิเส้น, แผนภูมิแถบ, แผนภูมิดาว, แผนภูมิวงกลม ฯลฯ เพื่อดูแผ่นงานแผนภูมิใน PowerPoint ให้คลิกสองครั้งที่แผนภูมิ:

![todo:image_alt_text](chart-worksheet-formulas_1.png)


แผ่นงานแผนภูมิมีชื่อขององค์ประกอบแผนภูมิ (Category Name: *Category1*, Serie Name) และตารางข้อมูลตัวเลขที่สอดคล้องกับหมวดหมู่และชุดข้อมูลเหล่านั้น โดยค่าเริ่มต้นเมื่อคุณสร้างแผนภูมิใหม่ – ข้อมูลแผ่นงานแผนภูมิจะตั้งค่าด้วยข้อมูลเริ่มต้น จากนั้นคุณสามารถเปลี่ยนข้อมูลในแผ่นงานได้ด้วยตนเอง

โดยทั่วไปแผนภูมิจะแสดงข้อมูลที่ซับซ้อน (เช่น นักวิเคราะห์การเงิน, นักวิทยาศาสตร์) โดยมีเซลล์ที่คำนวณจากค่าของเซลล์อื่นหรือจากข้อมูลแบบไดนามิก การคำนวณค่าของเซลล์ด้วยตนเองและทำการกำหนดค่าแบบคงที่ทำให้ยากต่อการเปลี่ยนแปลงในอนาคต หากคุณเปลี่ยนค่าของเซลล์หนึ่ง เซลล์ที่อ้างอิงถึงมันจะต้องอัปเดตด้วย อีกทั้งข้อมูลตารางอาจพึ่งพาข้อมูลจากตารางอื่น สร้างโครงร่างข้อมูลงานพรีเซนเทชันที่ซับซ้อนและต้องการการอัปเดตที่ง่ายและยืดหยุ่น

**สูตรแผ่นงานแผนภูมิ** ในงานพรีเซนเทชันคือการแสดงผลลัพธ์เพื่อคำนวณและอัปเดตข้อมูลแผ่นงานแผนภูมิโดยอัตโนมัติ สูตรแผ่นงานกำหนดตรรกะการคำนวณข้อมูลสำหรับเซลล์หรือชุดของเซลล์ สูตรแผ่นงานอาจเป็นสูตรคณิตศาสตร์หรือสูตรตรรกะ ซึ่งใช้: การอ้างอิงเซลล์, ฟังก์ชันคณิตศาสตร์, ตัวดำเนินการตรรกะ, ตัวดำเนินการคณิตศาสตร์, ฟังก์ชันการแปลง, ค่าคงที่สตริง ฯลฯ นิยามของสูตรจะเขียนลงในเซลล์และเซลล์นั้นจะไม่เก็บค่าธรรมดา สูตรแผ่นงานคำนวณค่าและส่งค่ากลับ จากนั้นค่าที่ได้จะถูกกำหนดให้กับเซลล์ สูตรแผ่นงานแผนภูมิในงานพรีเซนเทชันนั้นเหมือนกับสูตร Excel และรองรับฟังก์ชัน, ตัวดำเนินการและค่าคงที่เริ่มต้นเดียวกันในการทำงาน

ใน [**Aspose.Slides**](https://products.aspose.com/slides/th/androidjava/) แผ่นงานแผนภูมิมีการแทนที่ด้วยเมธอด
[**Chart.getChartData.getChartDataWorkbook**](https://reference.aspose.com/slides/th/androidjava/com.aspose.slides/IChartData#getChartDataWorkbook--) ของประเภท
[**IChartDataWorkbook**](https://reference.aspose.com/slides/th/androidjava/com.aspose.slides/IChartDataWorkbook)  
สูตรแผ่นงานสามารถกำหนดและเปลี่ยนแปลงได้ด้วยเมธอด
[**IChartDataCell.setFormula**](https://reference.aspose.com/slides/th/androidjava/com.aspose.slides/IChartDataCell#setFormula-java.lang.String-)  
ฟังก์ชันต่อไปนี้รองรับสูตรใน Aspose.Slides:

- ค่าคงที่ตรรกะ
- ค่าคงที่จำนวน
- ค่าคงที่สตริง
- ค่าคงที่ข้อผิดพลาด
- ตัวดำเนินการคณิตศาสตร์
- ตัวดำเนินการเปรียบเทียบ
- การอ้างอิงเซลล์แบบ A1‑style
- การอ้างอิงเซลล์แบบ R1C1‑style
- ฟังก์ชันกำหนดล่วงหน้า

โดยทั่วไปสเปรดชีตจะเก็บค่าผลลัพธ์ของสูตรที่คำนวณล่าสุด หากหลังจากโหลดงานพรีเซนเทชันแล้วข้อมูลแผนภูมิไม่ได้ถูกเปลี่ยน – เมธอด [**IChartDataCell.getValue**](https://reference.aspose.com/slides/th/androidjava/com.aspose.slides/IChartDataCell#getValue--) จะคืนค่าที่บันทึกไว้ขณะอ่าน แต่หากข้อมูลสเปรดชีตถูกเปลี่ยน ระหว่างการอ่านคุณสมบัติ **ChartDataCell.Value** จะทำให้เกิดข้อยกเว้น [**CellUnsupportedDataException**](https://reference.aspose.com/slides/th/androidjava/com.aspose.slides/CellUnsupportedDataException) สำหรับสูตรที่ไม่รองรับ เนื่องจากเมื่อสูตรถูกแปลงสำเร็จ จะกำหนดการพึ่งพาเซลล์และตรวจสอบความถูกต้องของค่าล่าสุด แต่หากสูตรไม่สามารถแปลงได้ ความถูกต้องของค่าจะไม่รับประกัน

## **เพิ่มสูตรแผ่นงานแผนภูมิเข้างานพรีเซนเทชัน**
ก่อนอื่น ให้เพิ่มแผนภูมิลงในสไลด์แรกของงานพรีเซนเทชันใหม่ด้วยเมธอด
[IShapeCollection.getShapes.addChart](https://reference.aspose.com/slides/th/androidjava/com.aspose.slides/IShapeCollection#addChart-int-float-float-float-float-)  
แผ่นงานของแผนภูมิจะถูกสร้างโดยอัตโนมัติและสามารถเข้าถึงได้ด้วยเมธอด
[**Chart.getChartData.getChartDataWorkbook**](https://reference.aspose.com/slides/th/androidjava/com.aspose.slides/IChartData#getChartDataWorkbook--) :

```java
Presentation pres = new Presentation();
try {
    IChart chart = pres.getSlides().get_Item(0).getShapes().addChart(ChartType.ClusteredColumn, 150, 150, 500, 300);

    IChartDataWorkbook workbook = chart.getChartData().getChartDataWorkbook();

    // ...
} finally {
    if (pres != null) pres.dispose();
}
```

เขียนค่าบางอย่างลงในเซลล์ด้วยเมธอด
[**IChartDataCell.setValue**](https://reference.aspose.com/slides/th/androidjava/com.aspose.slides/IChartDataCell#setValue-java.lang.Object-) ของประเภท **Object** ซึ่งหมายความว่าคุณสามารถกำหนดค่าใดก็ได้ให้กับคุณสมบัติ:

```java
workbook.getCell(0, "F2").setValue(-2.5);

workbook.getCell(0, "G3").setValue(6.3);

workbook.getCell(0, "H4").setValue(3);
```

ต่อไปเพื่อกำหนดสูตรให้กับเซลล์ คุณสามารถใช้เมธอด
[**IChartDataCell.setFormula**](https://reference.aspose.com/slides/th/androidjava/com.aspose.slides/IChartDataCell#setFormula-java.lang.String-) :

*หมายเหตุ*: เมธอด [**IChartDataCell.setFormula**](https://reference.aspose.com/slides/th/androidjava/com.aspose.slides/IChartDataCell#setFormula-java.lang.String-) ใช้สำหรับกำหนดการอ้างอิงเซลล์แบบ A1‑style  

เพื่อกำหนดการอ้างอิงเซลล์แบบ [R1C1Formula](https://reference.aspose.com/slides/th/androidjava/com.aspose.slides/IChartDataCell#getR1C1Formula--) คุณสามารถใช้เมธอด
[**IChartDataCell.setR1C1Formula**](https://reference.aspose.com/slides/th/androidjava/com.aspose.slides/IChartDataCell#setR1C1Formula-java.lang.String-) :

จากนั้นหากคุณอ่านค่าจากเซลล์ B2 และ C2 ค่าจะถูกคำนวณโดยอัตโนมัติ:

```java
Object value1 = cell1.getValue(); // 7.8

Object value2 = cell2.getValue(); // 2.1
```

## **ค่าคงที่ตรรกะ**
คุณสามารถใช้ค่าคงที่ตรรกะเช่น *FALSE* และ *TRUE* ในสูตรเซลล์ได้:

```java
workbook.getCell(0, "A2").setValue(false);
IChartDataCell cell = workbook.getCell(0, "B2");
cell.setFormula("A2 = TRUE");
Object value = cell.getValue(); // ค่ามีบูลีน "false"
```

## **ค่าคงที่จำนวน**
สามารถใช้ตัวเลขในรูปแบบทั่วไปหรือแบบวิทยาศาสตร์เพื่อสร้างสูตรแผ่นงานแผนภูมิได้:

```java
workbook.getCell(0, "A2").setFormula("1 + 0.5");
workbook.getCell(0, "B2").setFormula(".3 * 1E-2");
```

## **ค่าคงที่สตริง**
ค่าคงที่สตริง (หรือ literal) คือค่าที่ใช้ตามที่ระบุและไม่เปลี่ยนแปลง ค่าคงที่สตริงอาจเป็น: วันที่, ข้อความ, ตัวเลข ฯลฯ :

```java
workbook.getCell(0, "A2").setFormula("\"abc\"");
workbook.getCell(0, "B2").setFormula("\"2/3/2020 12:00\"");
```

## **ค่าคงที่ข้อผิดพลาด**
บางครั้งสูตรไม่สามารถคำนวณผลลัพธ์ได้ ในกรณีนั้นจะมีรหัสข้อผิดพลาดแสดงในเซลล์แทนค่าจริง แต่ละประเภทของข้อผิดพลาดมีรหัสเฉพาะ:

- #DIV/0! - สูตรพยายามหารด้วยศูนย์
- #GETTING_DATA - อาจปรากฏในเซลล์ขณะค่ากำลังคำนวณ
- #N/A - ข้อมูลหายหรือไม่พร้อมใช้งาน เช่น เซลล์ที่ใช้ในสูตรว่างเปล่า, มีช่องว่างเพิ่ม, การพิมพ์ผิด ฯลฯ
- #NAME? - ไม่พบเซลล์หรือวัตถุสูตรตามชื่อ
- #NULL! - เกิดเมื่อสูตรมีข้อผิดพลาด เช่น (,) หรือใช้ช่องว่างแทนเครื่องหมายโคลอน (:)
- #NUM! - ตัวเลขในสูตรไม่ถูกต้อง, ยาวเกินไปหรือสั้นเกินไป ฯลฯ
- #REF! - การอ้างอิงเซลล์ไม่ถูกต้อง
- #VALUE! - ชนิดค่าไม่ตรงกัน ตัวอย่างเช่น ค่าสตริงถูกตั้งให้กับเซลล์ตัวเลข

```java
IChartDataCell cell = workbook.getCell(0, "A2");
cell.setFormula("2 / 0");
Object value = cell.getValue(); // ค่ามีสตริง "#DIV/0!"
```

## **ตัวดำเนินการคณิตศาสตร์**
คุณสามารถใช้ตัวดำเนินการคณิตศาสตร์ทั้งหมดในสูตรแผ่นงานแผนภูมิได้:

|**ตัวดำเนินการ**|**ความหมาย**|**ตัวอย่าง**|
| :- | :- | :- |
|+ (บวก) |การบวกหรือบวกเชิงบวก|2 + 3|
|- (ลบ) |การลบหรือการทำให้เป็นลบ|2 - 3<br>-3|
|* (ดอกจัน) |การคูณ|2 * 3|
|/ (ทับ) |การหาร|2 / 3|
|% (เปอร์เซ็นต์) |เปอร์เซ็นต์|30%|
|^ (ยกกำลัง) |ยกกำลัง|2 ^ 3|

*หมายเหตุ*: หากต้องการเปลี่ยนลำดับการคำนวณ ให้ใส่วงเล็บล้อมรอบส่วนของสูตรที่ต้องการคำนวณก่อน

## **ตัวดำเนินการเปรียบเทียบ**
คุณสามารถเปรียบเทียบค่าของเซลล์ด้วยตัวดำเนินการเปรียบเทียบ เมื่อเปรียบเทียบสองค่าโดยใช้ตัวดำเนินการเหล่านี้ ผลลัพธ์จะเป็นค่าตรรกะ *TRUE* หรือ FALSE:

|**ตัวดำเนินการ**|**ความหมาย**|**ตัวอย่าง**|
| :- | :- | :- |
|= (เท่ากับ) |เท่ากับ|A2 = 3|
|<> (ไม่เท่ากับ) |ไม่เท่ากับ|A2 <> 3|
|> (มากกว่า) |มากกว่า|A2 > 3|
|>= (มากกว่าหรือเท่ากับ) |มากกว่าหรือเท่ากับ|A2 >= 3|
|< (น้อยกว่า) |น้อยกว่า|A2 < 3|
|<= (น้อยกว่าหรือเท่ากับ) |น้อยกว่าหรือเท่ากับ|A2 <= 3|

## **การอ้างอิงเซลล์แบบ A1‑style**
**การอ้างอิงเซลล์แบบ A1‑style** ใช้กับแผ่นงานที่คอลัมน์มีตัวอักษรระบุ (เช่น "*A*") และแถวมีตัวเลขระบุ (เช่น "*1*") การอ้างอิงแบบนี้สามารถใช้ได้ดังนี้:

|**การอ้างอิงเซลล์**|**ตัวอย่าง**| | |
| :- | :- | :- | :- |
| |Absolute|Relative|Mixed|
|Cell|$A$2|A2|<p>A$2</p><p>$A2</p>|
|Row|$2:$2|2:2|-|
|Column|$A:$A|A:A|-|
|Range|$A$2:$C$4|A2:C4|<p>$A$2:C4</p><p>A$2:$C4</p>|


ตัวอย่างการใช้การอ้างอิงเซลล์แบบ A1‑style ในสูตร:

```java
workbook.getCell(0, "A2").setFormula("C3 + SUM(F2:H5)");
```

## **การอ้างอิงเซลล์แบบ R1C1‑style**
**การอ้างอิงเซลล์แบบ R1C1‑style** ใช้กับแผ่นงานที่ทั้งแถวและคอลัมน์มีตัวเลขระบุ การอ้างอิงแบบนี้สามารถใช้ได้ดังนี้:

|**การอ้างอิงเซลล์**|**ตัวอย่าง**| | |
| :- | :- | :- | :- |
| |Absolute|Relative|Mixed|
|Cell|R2C3|R[2]C[3]|R2C[3]<br>R[2]C3|
|Row|R2|R[2]|-|
|Column|C3|C[3]|-|
|Range|R2C3:R5C7|R[2]C[3]:R[5]C[7]|R2C3:R[5]C[7]<br>R[2]C3:R5C[7]|


ตัวอย่างการใช้การอ้างอิงเซลล์แบบ A1‑style ในสูตร:

```java
workbook.getCell(0, "A2").setR1C1Formula("R2C4 + SUM(R5C6:R7C9)");
```

## **ฟังก์ชันกำหนดล่วงหน้า**
มีฟังก์ชันกำหนดล่วงหน้าที่สามารถใช้ในสูตรเพื่อทำให้การทำงานง่ายขึ้น ฟังก์ชันเหล่านี้รวมถึงการดำเนินการที่ใช้บ่อย เช่น:

- ABS
- AVERAGE
- CEILING
- CHOOSE
- CONCAT
- CONCATENATE
- DATE (ระบบวันที่ 1900)
- DAYS
- FIND
- FINDB
- IF
- INDEX (รูปแบบอ้างอิง)
- LOOKUP (รูปแบบเวกเตอร์)
- MATCH (รูปแบบเวกเตอร์)
- MAX
- SUM
- VLOOKUP

## **FAQ**

**ไฟล์ Excel ภายนอกรองรับเป็นแหล่งข้อมูลของแผนภูมิที่มีสูตรหรือไม่?**

ใช่ Aspose.Slides รองรับเวิร์กบุ๊กภายนอกเป็น [chart's data source](https://reference.aspose.com/slides/th/androidjava/com.aspose.slides/chartdatasourcetype/) ซึ่งทำให้คุณสามารถใช้สูตรจากไฟล์ XLSX นอกงานพรีเซนเทชันได้

**สูตรแผนภูมิสามารถอ้างอิงชีตภายในเวิร์กบุ๊กเดียวกันโดยใช้ชื่อชีตได้หรือไม่?**

ใช่ สูตรจะปฏิบัติตามโมเดลการอ้างอิงของ Excel มาตรฐาน ดังนั้นคุณสามารถอ้างอิงชีตอื่นภายในเวิร์กบุ๊กเดียวกันหรือเวิร์กบุ๊กภายนอกได้ สำหรับการอ้างอิงภายนอกให้ใส่พาธและชื่อเวิร์กบุ๊กโดยใช้ไวยากรณ์ของ Excel
