スポンサーリンク

[Excel関数]正四角錐(ピラミッド型)の体積や表面積を計算するRSQPYRAMIDカスタムワークシート関数群

2020年12月13日

説明

RSQUPYRAMIDカスタムワークシート関数群は、正四角錐の体積や表面積などを計算します。正四角錐とは、正方形と合同な4つの三角形で構成されたピラミッド型です。

RSQUPYRAMIDカスタムワークシート関数群には、下記の関数が含まれます。ワークシート関数だけで(VBAを使用せずに)同じことをしたい場合はコチラの記事を参照して下さい。

関数名機能関数名の由来
RSQPYRAMIDEDG正四角錐の底辺と高さから、正四角錐の斜辺を計算します。Regular SQuare PYRAMID EDGe
RSQPYRAMIDHGT正四角錐の底辺と斜辺から、正四角錐の高さを計算します。Regular SQuare PYRAMID HeiGhT
RSQPYRAMIDSUR正四角錐の底辺と高さから、正四角錐の表面積を計算します。Regular SQuare PYRAMID SURface area
RSQPYRAMIDVOL正四角錐の底辺と高さから、正四角錐の体積を計算します。Regular SQuare PYRAMID VOLume

動作例

計算式

項目計算式
$$ 高さ(h) $$$$ h={\frac{\sqrt{4b^2-2a^2}}{2}} $$
$$ 斜辺(b) $$$$ b=\sqrt{\frac{1}{2}a^2+h^2} $$
$$ 表面積(S) $$$$ S=a^2+a\sqrt{a^2+4h^2} $$
$$ 体積(V) $$$$ V={\large\frac{1}{3}}a^2h $$

構文

関数名第1引数第2引数戻り値
RSQUPYRAMIDEDG底辺の長さ高さ斜辺
RSQUPYRAMIDHGT底辺の長さ斜辺高さ
RSQUPYRAMIDSUR底辺の長さ高さ表面積
RSQUPYRAMIDVOL底辺の長さ高さ体積
引数説明引数の指定既定値
底辺の長さ正四角錐の底辺の長さを数値で指定します。必須(無し)
高さ正四角錐の高さを数値で指定します。必須(無し)
斜辺正四角錐の斜辺の長さを数値で指定します。必須(無し)

コード

下記のコードを全てコピーし、標準モジュール等に貼り付けて下さい。下記のコード表示欄の右上に「Copy」ボタンがありますのでご使用下さい。なお、標準モジュールが何だか分からない方は、 Excelのカスタムワークシート関数を使用する方法 を参照して下さい。

'[Excel関数]正四角錐(ピラミッド型)の体積や表面積を計算するRSQPYRAMIDカスタムワークシート関数群
'Copyright (c) 2020 黒い箱の中 All Rights Reserved.
'This software is released under the MIT License<https://opensource.org/licenses/MIT>.
'このソフトウェアはMITライセンスの下でリリースされています<https://opensource.org/licenses/MIT>。

'* @fn Public Function RSQUPYRAMIDHGT(ByVal a As Variant, ByVal b As Variant) As Variant
'* @brief 正四角錐の底辺と斜辺から正四角錐の高さを求めます。
'* @param[in] a 正四角錐の底辺の長さを指定します。
'* @param[in] e 正四角錐の斜辺の長さを指定します。
'* @return Variant 正四角錐の高さを返します。
'* @note 関数名の由来:RSQUPYRAMID HeiGhT
Public Function RSQUPYRAMIDHGT(ByVal a As Variant, ByVal e As Variant) As Variant
    RSQUPYRAMIDHGT = (4 * e ^ 2 - 2 * a ^ 2) ^ 0.5 * 0.5
End Function


'* @fn Public Function RSQUPYRAMIDEDG(ByVal a As Variant, ByVal h As Variant) As Variant
'* @brief 正四角錐の底辺と高さから正四角錐の斜辺の長さを求めます。
'* @param[in] a 正四角錐の底辺の長さを指定します。
'* @param[in] h 正四角錐の高さを指定します。
'* @return Variant 正四角錐の斜辺の長さを返します。
'* @note 関数名の由来:RSQUPYRAMID EDGe
Public Function RSQUPYRAMIDEDG(ByVal a As Variant, ByVal h As Variant) As Variant
    RSQUPYRAMIDEDG = (0.5 * a ^ 2 + h ^ 2) ^ 0.5
End Function


'* @fn Public Function RSQUPYRAMIDSUR(ByVal a As Variant, ByVal h As Variant) As Variant
'* @brief 正四角錐の底辺と高さから正四角錐の表面積を求めます。
'* @param[in] a 正四角錐の底辺の長さを指定します。
'* @param[in] h 正四角錐の高さを指定します。
'* @return Variant 正四角錐の表面積を返します。
'* @note 関数名の由来:RSQUPYRAMID SURface area
Public Function RSQUPYRAMIDSUR(ByVal a As Variant, ByVal h As Variant) As Variant
    RSQUPYRAMIDSUR = a ^ 2 + a * (a ^ 2 + 4 * h ^ 2) ^ 0.5
End Function


'* @fn Public Function RSQUPYRAMIDVOL(ByVal a As Variant, ByVal h As Variant) As Variant
'* @brief 正四角錐の底辺と高さから正四角錐の体積を求めます。
'* @param[in] a 正四角錐の底辺の長さを指定します。
'* @param[in] h 正四角錐の高さを指定します。
'* @return Variant 正四角錐の体積を返します。
'* @note 関数名の由来:RSQUPYRAMID VOLume
Public Function RSQUPYRAMIDVOL(ByVal a As Variant, ByVal h As Variant) As Variant
Const c As Double = 1 / 3
    RSQUPYRAMIDVOL = c * a ^ 2 * h
End Function

プログラムの利用について

本プログラムのライセンスは「The MIT License」を適用しています。

本プログラムは無償で利用できますが、本プログラム内の著作権表示及びライセンス表示は削除せずに表示しておいて下さい。

必須ではございませんが、本ホームページのプログラムを書籍またはホームページ等で一般公開したい方は、お問い合わせフォームよりご連絡頂けると幸いです。

スポンサーリンク