先選擇「用什麼來算」,再輸入目標容量(或年發電量、屋頂面積)和每片太陽能板的標稱最大輸出功率與尺寸。太陽能板的功率和尺寸寫在型錄或報價單的規格欄。
這個頁面可以做什麼
- 只要輸入目標的裝置容量(kW)和每片太陽能板的標稱最大輸出功率(W),就能馬上知道需要的片數(無條件進位)、合計容量(kW)和太陽能板的合計面積(m²)
- 「用目標年發電量」模式,會用每瓩年發電量(度/kW/年)反推需要的容量和片數
- 「用屋頂可設置面積」模式,會考慮面積利用率(預設 80%),算出能裝的片數(無條件捨去)、容量和年發電量的參考值
- 把算出片數的太陽能板排成格子狀的圖,可以直接看出片數和整體的大小(長 × 寬)
- 公式的淺顯解說,以及可直接複製到 Excel、Google 試算表、Python 使用的公式,也都整理在這個頁面
這個計算有什麼用?
報價單上會像「模組 ○○ W × 13 片,裝置容量 5.2 kW」這樣寫出片數和容量。把目標 5 kW 和每片功率 400 W 填進這個公式,就會直接得到 13 片、5.2 kW,可以自己確認報價的前提。
同時也能知道 13 片 × 1.7 m²=22.1 m² 的太陽能板要放在屋頂的哪裡,考慮利用率 80% 時需要約 27.6 m²(約 8.4 坪)的屋頂面積。帶著「這個面積,我家屋頂有嗎?」的問題去和業者討論,是這個計算最大的用處。
假設屋頂可用的面積有 30 m²(約 9 坪),利用率 80% 時可用的是 24 m²,每片 1.7 m² 的太陽能板大約能裝 14 片(無條件捨去)。400 W 的話是 5.6 kW,在每瓩年發電量 1,200 度的地區,一年大約發 6,720 度。
斜屋頂請填把投影面積依傾斜放大後的實際面積(傾斜約 22° 時約 1.08 倍);以坪表示時請先換算成 m²。台灣常見的 RC 平屋頂,要扣掉水塔、樓梯間、女兒牆周圍的空間,若把太陽能板傾斜排成多列,還要預留前後排的間距。實際的片數會因屋頂的形狀和障礙物、屋頂的強度而不同,這是在業者的配置圖出來之前先「抓個大概」的計算。
把一年份電費單的計費度數加總,知道「我家一年用 6,000 度」之後,就能用「年發電量 ÷ 每瓩年發電量」反推發出這些電需要的容量。在每瓩年發電量 1,200 度的地區,目標容量是 5 kW,430 W 的太陽能板需要 12 片、5.16 kW,年發電量的參考值是 6,192 度。
不過,台灣住宅的太陽能大多採全額躉售(發的電全部賣給台電),用電照常向台電購買;採自發自用時,太陽能只有白天發電,就算發電量和用電量相同,晚上的電還是要買,電費不會變成零。「發和用一樣多的電」可以當作一個參考,再從這裡考慮要增加或減少幾片。
同樣目標 5 kW,250 W 的太陽能板需要 20 片(每片 1,650 mm × 990 mm 時,合計面積約 32.7 m²),400 W 需要 13 片(22.1 m²),450 W 需要 12 片。每片功率越大的產品,片數和面積都越少,所以屋頂越小的房子,高功率太陽能板的效果越大。
反過來,沿用舊產品或小型太陽能板時,片數會增加,屋頂面積、支架和工程也會增加。把型錄上的功率和尺寸換掉再計算,就能把挑選產品的依據用數字排出來。
在車棚的屋頂(5 m × 2.5 m=12.5 m²)上,以利用率 90% 放每片 1.7 m² 的太陽能板,可用面積 11.25 m² ÷ 1.7 m² ≈ 6.6 → 6 片,400 W 的話是 2.4 kW。馬上就知道「小屋頂也能裝幾片、幾 kW」,可以用來評估住宅屋頂裝不下時的其他位置,或小規模的自發自用(露營車、小屋、農用抽水馬達等)。
不過這個計算只是看面積的概算。車棚和倉庫的強度、固定方式、遮蔭條件都和住宅屋頂不同,也要能承受颱風,實際能不能裝請和專業業者討論。
公式
符號與用語解說
符號
| \(L\) | 每片太陽能板的長度(mm)。型錄外形尺寸中較長的邊,取自英文 length(長度)的第一個字母。 |
| \(W\) | 每片太陽能板的寬度(mm)。型錄外形尺寸中較短的邊,取自英文 width(寬度)的第一個字母。 |
| \(a\) | 每片太陽能板的面積(m²)。取自英文 area(面積)的第一個字母,為了和合計面積 \(S\) 區分而用小寫。 |
| \(p\) | 每片的標稱最大輸出功率(W)。取自英文 power(電功率)的第一個字母,為了和合計裝置容量 \(P\) 區分而用小寫。 |
| \(P_t\) | 目標裝置容量(kW)。右下的 \(t\) 取自 target(目標)的第一個字母。 |
| \(N\) | 太陽能板的片數。用目標求時是「需要的片數」(無條件進位),用屋頂面積求時是「能裝的片數」(無條件捨去)。取自英文 number(數)的第一個字母。 |
| \(P\) | 用無條件進位或捨去後的片數重新計算的合計裝置容量(kW),相當於報價單上的「裝置容量」。 |
| \(S\) | 太陽能板的合計面積(m²)。片數 \(N\) 乘以每片面積 \(a\) 的值,屋頂需要的大小會比這個大。\(S\) 是表示面積的慣用符號(據說取自拉丁文 superficies=表面)。 |
| \(A\) | 屋頂可設置面積(m²),也就是能放太陽能板的屋頂大小。取自英文 area(面積)的第一個字母,為了和每片面積 \(a\) 區分而用大寫。 |
| \(u\) | 面積利用率(%)。可設置面積中實際能放太陽能板的比例,這個計算機的預設值是 80%。取自英文 utilization(利用)的第一個字母。 |
| \(E_t\) | 目標年發電量(度/年)。在英文 energy(能量、電能)的第一個字母加上 target(目標)的 \(t\)。 |
| \(Y\) | 每瓩年發電量(度/kW/年)。依地區和設置條件而不同的發電參考值,取自英文 yield(產量)的第一個字母。 |
| \(E\) | 用最後的片數算出的年發電量參考值(度/年)。取自英文 energy(能量、電能)的第一個字母。 |
| \(\lceil\ \rceil\) | 把裡面的數小數點以下無條件進位成整數的符號(天花板函數)。\(\lceil 12.5 \rceil = 13\)、\(\lceil 15 \rceil = 15\)(整數不變)。求需要的片數時使用。 |
| \(\lfloor\ \rfloor\) | 把裡面的數小數點以下無條件捨去成整數的符號(地板函數)。像 \(\lfloor 14.12 \rfloor = 14\) 這樣使用,求屋頂裝得下的片數時會用到。 |
用語
| 太陽能板 | 把幾十片太陽能電池的小片(電池片)排在一起做成一片的產品,型錄上多寫作「太陽能模組」。裝在住宅屋頂上的每一片就是它,這個計算機的「每片」指的就是一片模組。 |
| 標稱最大輸出功率 | 一片模組在標準測試條件(日射強度 1 kW/m²、模組溫度 25 ℃等)下能輸出的電功率(W)。型錄上的「○○ W」就是這個值,實際在屋頂上溫度和日射條件不同,大部分時間都以比它小的輸出運轉。計算片數時使用這個值。 |
| 裝置容量 | 表示太陽能發電系統大小的基本數值,是太陽能板標稱最大輸出功率全部加起來的值(kW,也寫作瓩)。像「5 瓩的系統」這樣使用,每片 400 W 的話,13 片就是 5.2 kW。 |
| 無條件進位 | 只要有小數,就進位成大 1 的整數(12.5→13)。太陽能板是一片一片計算,所以求能達到目標容量的片數時要無條件進位。數學上用天花板函數 \(\lceil\ \rceil\) 表示。 |
| 無條件捨去 | 把小數點以下直接去掉,留下原本的整數(14.12→14)。屋頂裝得下的片數是「不超出範圍的片數」,所以要無條件捨去。數學上用地板函數 \(\lfloor\ \rfloor\) 表示。 |
| 每瓩年發電量 | 1 kW 的系統一年的發電量(度/kW/年),是把當地的日射量、方位、傾斜角、損失合在一起的參考值。在台灣,依台電 114 年的統計,全台平均約 1,158 度,北部約 1,000 度、中南部約 1,200 度。可以用「太陽能發電量試算」頁面求出自己條件下的值。 |
| 面積利用率 | 屋頂可設置面積中,實際能放太陽能板的比例(%)。因為太陽能板之間的間隙、和屋頂邊緣的退縮距離、維修走道和前後排的間距,不會是 100%,這個計算機的預設值是 80%。屋頂的形狀越方正越高,越不規則越低。 |
| 退縮距離 | 太陽能板和屋頂邊緣、女兒牆、排水溝之間保留的距離。為了避免強風把太陽能板掀起,也為了排水和維修,不會把太陽能板裝到屋頂最邊緣。這是讓利用率降低的主要原因之一。 |
| 投影面積 | 從正上方看屋頂時的面積。斜屋頂的屋頂面是傾斜的,所以投影面積比屋頂面本身的實際面積小;平屋頂兩者相同。 |
| 實際面積 | 傾斜屋頂面本身的面積。比投影面積(從正上方看的面積)大,傾斜約 22° 時約是投影面積的 1.08 倍。在斜屋頂上沿著屋頂面鋪設時,這個頁面的「可設置面積」請填實際面積。 |
| 支架 | 把太陽能板固定在屋頂上的金屬框架或軌道。在台灣,RC 平屋頂常用鋼構的「光電棚架」把太陽能板架高,下方還能遮陽、隔熱。太陽能板片數越多,支架也越長,重量和工程也會增加;也必須考慮颱風的風壓。 |
| 屋頂載重 | 屋頂能承受多少重量。住宅用的太陽能板每片約 20 kg(依產品約 15~25 kg),加上支架,每 1 m² 的屋頂大約增加 15 kg 左右的重量(架高的鋼構棚架會更重)。老舊的房子或依屋頂結構,可能需要減少片數,算出的片數能不能裝,請向施工廠商確認。 |
建議先了解的基礎知識
為了讓您「理解意義」地使用這個頁面的計算,這裡整理了建議先了解的基礎知識。
遇到卡關時,回頭複習這個表格的內容是最快的方法。
| 面積與面積單位(國小四到六年級,9~12 歲) |
|
| 概數、無條件進位與無條件捨去(國小四年級,9~10 歲) |
|
| 小數的乘法與除法(國小五、六年級,10~12 歲) |
|
| 比率與百分率(國小五年級,10~11 歲) |
|
| 電功率與電能(國中理化,12~15 歲) |
|
用 Excel 計算的方法
| 長度(mm) | 1700 |
| 寬度(mm) | 1000 |
| 每片的面積(m²) | =B1*B2/1000000 |
| 目標裝置容量(kW) | 5 |
| 每片的標稱最大輸出功率(W) | 400 |
| 無條件進位前的片數 | =B1*1000/B2 |
| 需要的片數(片) | =ROUNDUP(ROUND(B1*1000/B2,10),0) |
| 目標年發電量(度/年) | 6000 |
| 每瓩年發電量(度/kW/年) | 1200 |
| 每片的標稱最大輸出功率(W) | 430 |
| 目標裝置容量(kW) | =B1/B2 |
| 需要的片數(片) | =ROUNDUP(ROUND(B4*1000/B3,10),0) |
| 片數(片) | 13 |
| 每片的標稱最大輸出功率(W) | 400 |
| 每片的面積(m²) | 1.7 |
| 面積利用率(%) | 80 |
| 合計裝置容量(kW) | =B1*B2/1000 |
| 太陽能板合計面積(m²) | =B1*B3 |
| 考慮利用率的屋頂面積參考值(m²) | =B6/(B4/100) |
| 可設置面積(m²) | 30 |
| 面積利用率(%) | 80 |
| 每片的面積(m²) | 1.7 |
| 實際可用面積(m²) | =B1*B2/100 |
| 無條件捨去前的片數 | =B4/B3 |
| 能裝的片數(片) | =ROUNDDOWN(ROUND(B4/B3,10),0) |
| 合計裝置容量(kW) | 5.2 |
| 每瓩年發電量(度/kW/年) | 1200 |
| 年發電量參考值(度/年) | =B1*B2 |
第 1 個表格是長 1,700 mm × 寬 1,000 mm 的太陽能板面積,B3 會顯示 1.7(m²)。第 2 個表格是目標 5 kW、400 W 的例子,B3 會顯示 12.5,用無條件進位的 ROUNDUP 函數的 B4 會顯示 13(片)。
第 3 個表格是每年 6,000 度、1,200 度/kW/年、430 W 的例子,B4 是 5(kW),B5 是 12(片)。第 4 個表格是 13 片 × 400 W、1.7 m² 的例子,B5 是 5.2(kW),B6 是 22.1(m²),B7 是 27.625(考慮利用率 80% 的屋頂面積參考值,約 27.6 m²)。
第 5 個表格是屋頂 30 m²、利用率 80% 的例子,B4 是 24(m²),B5 約 14.12,用無條件捨去的 ROUNDDOWN 函數的 B6 是 14(片)。第 6 個表格是 5.2 kW × 1,200 度/kW/年,B3 會顯示 6240(度/年)。只要把 B 欄的數值換成自己的太陽能板和屋頂的數值就能使用。
在 ROUNDUP、ROUNDDOWN 裡先放一個 ROUND(…,10)(在小數第 10 位四捨五入),是為了避免應該除得盡的計算(例:4.8 kW ÷ 400 W=剛好 12 片)因為電腦內部極小的誤差變成 12.000000000000002,結果多算(或少算)一片。
用 Google 試算表計算的方法
| 長度(mm) | 1700 |
| 寬度(mm) | 1000 |
| 每片的面積(m²) | =B1*B2/1000000 |
| 目標裝置容量(kW) | 5 |
| 每片的標稱最大輸出功率(W) | 400 |
| 無條件進位前的片數 | =B1*1000/B2 |
| 需要的片數(片) | =ROUNDUP(ROUND(B1*1000/B2,10),0) |
| 目標年發電量(度/年) | 6000 |
| 每瓩年發電量(度/kW/年) | 1200 |
| 每片的標稱最大輸出功率(W) | 430 |
| 目標裝置容量(kW) | =B1/B2 |
| 需要的片數(片) | =ROUNDUP(ROUND(B4*1000/B3,10),0) |
| 片數(片) | 13 |
| 每片的標稱最大輸出功率(W) | 400 |
| 每片的面積(m²) | 1.7 |
| 面積利用率(%) | 80 |
| 合計裝置容量(kW) | =B1*B2/1000 |
| 太陽能板合計面積(m²) | =B1*B3 |
| 考慮利用率的屋頂面積參考值(m²) | =B6/(B4/100) |
| 可設置面積(m²) | 30 |
| 面積利用率(%) | 80 |
| 每片的面積(m²) | 1.7 |
| 實際可用面積(m²) | =B1*B2/100 |
| 無條件捨去前的片數 | =B4/B3 |
| 能裝的片數(片) | =ROUNDDOWN(ROUND(B4/B3,10),0) |
| 合計裝置容量(kW) | 5.2 |
| 每瓩年發電量(度/kW/年) | 1200 |
| 年發電量參考值(度/年) | =B1*B2 |
用 Python 計算的方法
import math
from decimal import Decimal
# 數值用 Decimal(十進位小數)處理。用 float 的話,像 4.03×1000÷130 這種「應該除得盡」的計算
# 會變成 31.000000000000004,無條件進位時可能多算一片
mode = "capacity" # "capacity"=用目標容量 / "energy"=用目標年發電量 / "area"=用屋頂面積
target_kw = Decimal("5") # 目標裝置容量 P_t(kW)。mode="capacity" 時使用
target_kwh = Decimal("6000") # 目標年發電量 E_t(度/年)。mode="energy" 時使用
roof_area_m2 = Decimal("30") # 屋頂可設置面積 A(m²)。mode="area" 時使用
utilization_percent = Decimal("80") # 面積利用率 u(%)
yield_kwh_per_kw = Decimal("1200") # 每瓩年發電量 Y(度/kW/年)。不清楚時用 None
panel_watt = Decimal("400") # 每片的標稱最大輸出功率 p(W)
panel_length_mm = Decimal("1700") # 每片的長度 L(mm)
panel_width_mm = Decimal("1000") # 每片的寬度 W(mm)
# 每片的面積 a(m²)= L × W ÷ 1,000,000
panel_area_m2 = panel_length_mm * panel_width_mm / Decimal("1000000")
if mode == "area":
# 用屋頂面積:能裝的片數 = ⌊A × u/100 ÷ a⌋(無條件捨去)
usable_area_m2 = roof_area_m2 * utilization_percent / Decimal("100")
panel_count = math.floor(usable_area_m2 / panel_area_m2)
else:
if mode == "energy":
# 把目標年發電量換成目標容量:P_t = E_t ÷ Y
target_kw = target_kwh / yield_kwh_per_kw
# 需要的片數 = ⌈P_t × 1000 ÷ p⌉(無條件進位)
panel_count = math.ceil(target_kw * Decimal("1000") / panel_watt)
total_kw = panel_count * panel_watt / Decimal("1000") # 合計裝置容量 P(kW)
total_area_m2 = panel_count * panel_area_m2 # 太陽能板合計面積 S(m²)
print(f"每片的面積: {panel_area_m2:.4f} m²")
print(f"片數: {panel_count} 片, 合計容量: {total_kw:.3f} kW, 合計面積: {total_area_m2:.2f} m²")
if mode != "area":
# 考慮利用率的屋頂面積參考值(用屋頂面積求時就是輸入的面積,所以不顯示)
roof_needed_m2 = total_area_m2 / (utilization_percent / Decimal("100"))
print(f"考慮利用率 {utilization_percent}% 的屋頂面積參考值: {roof_needed_m2:.1f} m²")
if yield_kwh_per_kw is not None:
print(f"年發電量參考值: {total_kw * yield_kwh_per_kw:.0f} kWh/年")
用 LaTeX 等數學式語言的寫法(可直接複製)
a = L × W ÷ 1000000
a = \frac{L \times W}{10^{6}}
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mi>a</mi>
<mo>=</mo>
<mfrac>
<mrow><mi>L</mi><mo>×</mo><mi>W</mi></mrow>
<msup><mn>10</mn><mn>6</mn></msup>
</mfrac>
</mrow>
</math>
a = (L * W) / 10^6
panelArea = length*width/10^6
a := L*W/10^6;
a = L*W/1e6;
a = (L×W)/10^6
N = ⌈Pₜ × 1000 ÷ p⌉
N = \left\lceil \frac{P_t \times 1000}{p} \right\rceil
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mi>N</mi>
<mo>=</mo>
<mo>⌈</mo>
<mfrac>
<mrow><msub><mi>P</mi><mi>t</mi></msub><mo>×</mo><mn>1000</mn></mrow>
<mi>p</mi>
</mfrac>
<mo>⌉</mo>
</mrow>
</math>
N = |~ (P_t * 1000) / p ~|
panelCount = Ceiling[targetKw*1000/panelW]
N := ceil(P_t*1000/p);
N = ceil(P_t*1000/p);
N = ⌈(P_t×1000)/p⌉
Pₜ = Eₜ ÷ Y
P_t = \frac{E_t}{Y}
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<msub><mi>P</mi><mi>t</mi></msub>
<mo>=</mo>
<mfrac>
<msub><mi>E</mi><mi>t</mi></msub>
<mi>Y</mi>
</mfrac>
</mrow>
</math>
P_t = E_t / Y
targetKw = targetKwh/yieldPerKw
P_t := E_t/Y;
P_t = E_t/Y;
P_t = E_t/Y
P = N × p ÷ 1000, S = N × a
P = \frac{N \times p}{1000}, \quad S = N \times a
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mi>P</mi>
<mo>=</mo>
<mfrac>
<mrow><mi>N</mi><mo>×</mo><mi>p</mi></mrow>
<mn>1000</mn>
</mfrac>
<mo>,</mo>
<mspace width="1em"/>
<mi>S</mi>
<mo>=</mo>
<mi>N</mi>
<mo>×</mo>
<mi>a</mi>
</mrow>
</math>
P = (N * p) / 1000, S = N * a
totalKw = panelCount*panelW/1000; totalArea = panelCount*panelArea
P := N*p/1000; S := N*a;
P = N*p/1000; S = N*a;
P = (N×p)/1000, S = N×a
N = ⌊A × u ÷ 100 ÷ a⌋
N = \left\lfloor \frac{A \times \frac{u}{100}}{a} \right\rfloor
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mi>N</mi>
<mo>=</mo>
<mo>⌊</mo>
<mfrac>
<mrow><mi>A</mi><mo>×</mo><mfrac><mi>u</mi><mn>100</mn></mfrac></mrow>
<mi>a</mi>
</mfrac>
<mo>⌋</mo>
</mrow>
</math>
N = |__ (A * u / 100) / a __|
panelCount = Floor[roofArea*util/100/panelArea]
N := floor(A*u/100/a);
N = floor(A*u/100/a);
N = ⌊(A×u/100)/a⌋
E = P × Y
E = P \times Y
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mi>E</mi>
<mo>=</mo>
<mi>P</mi>
<mo>×</mo>
<mi>Y</mi>
</mrow>
</math>
E = P * Y
yearlyKwh = totalKw*yieldPerKw
E := P*Y;
E = P*Y;
E = P×Y
請 ChatGPT 幫忙計算的方法
你是太陽能發電系統的設計助理。請務必實際執行 Python 程式碼來進行以下計算,並只根據執行結果的數值回答(不要用心算或推測回答)。 目標裝置容量是 5 kW,每片太陽能板的標稱最大輸出功率是 400 W,每片的尺寸是長 1,700 mm × 寬 1,000 mm。面積利用率是 80%,每瓩年發電量是 1,200 度/kW/年。 需要的片數請把「目標容量(kW)× 1000 ÷ 每片的功率(W)」的小數點以下無條件進位求出(math.ceil)。 請分別求出以下數值: 1. 每片的面積(m²)= 長(mm)× 寬(mm)÷ 1,000,000 2. 需要的片數(片),以及這個片數的合計裝置容量(kW) 3. 太陽能板合計面積(m²),以及考慮利用率 80% 的屋頂面積參考值(m²) 4. 用合計容量 × 每瓩年發電量求出的年發電量參考值(度/年) 請列出計算用的公式和執行結果的數值。
使用方法
-
1輸入數值在輸入欄中輸入要計算的數值
-
2計算按下「計算」按鈕
-
3查看結果計算結果會立即顯示。計算的思路和公式的解說,也都能在同一個頁面查看
DataChef 的特色
不需專業知識,操作直覺又簡單
無須登錄任何個人資料
按下「下載」後自動刪除檔案
無須標註來源出處
亦無須事先取得商用授權