[Excel関数]正四角錐台の体積や表面積を計算するRSQPYRAMIDFカスタムワークシート関数群
2020年12月13日
説明
RSQPYRAMIDFカスタムワークシート関数群は、正四角錐台の体積や表面積などを計算します。正四角錐台とは、正方形と合同な4つの三角形で構成されたピラミッド型(正四角錐)から、先端を水平に切り取った立体です。
RSQPYRAMIDFカスタムワークシート関数群には、下記の関数が含まれます。ワークシート関数だけで(VBAを使用せずに)同じことをしたい場合はコチラの記事を参照して下さい。
関数名 | 機能 | 関数名の由来 |
---|---|---|
RSQPYRAMIDFEDG | 正四角錐台の下底及び上底の長さと高さから、正四角錐台の斜辺を計算します。 | Regular SQuare PYRAMID Frustum EDGe |
RSQPYRAMIDFSLA | 正四角錐台の下底及び上底の長さと高さから、正四角錐台の側面の高さを計算します。 | Regular SQuare PYRAMID Frustum SLAnt |
RSQPYRAMIDFLAT | 正四角錐台の下底及び上底の長さと高さから、正四角錐台の側面積を計算します。 | Regular SQuare PYRAMID Frustum LATeral surface area |
RSQPYRAMIDFSUR | 正四角錐台の下底及び上底の長さと高さから、正四角錐台の表面積を計算します。 | Regular SQuare PYRAMID Frustum SURface area |
RSQPYRAMIDFVOL | 正四角錐台の下底及び上底の長さと高さから、正四角錐台の体積を計算します。 | Regular SQuare PYRAMID Frustum VOLume |
動作例
計算式
項目 | 計算式 |
---|---|
$$ 斜辺(e) $$ | $$ e=\sqrt{\frac{1}{4}cot^2(\frac{π}{4})\cdot(a-b)^2+h^2} $$ |
$$ 側面の高さ(s) $$ | $$ s=\frac{\sqrt{4e^2+(a-b)^2}}{2} $$ |
$$ 側面積(F) $$ | $$ F=2(a+b)\sqrt{\left(\frac{a-b}{2}\right)^2+h^2} $$ |
$$ 表面積(S) $$ | $$ S=F+a^2+b^2 $$ |
$$ 体積(V) $$ | $$ V={\large\frac{1}{3}}(a^2+ab+b^2)h $$ |
構文
関数名 | 第1引数 | 第2引数 | 第3引数 | 戻り値 |
---|---|---|---|---|
RSQPYRAMIDFEDG | 下底の長さ | 上底の長さ | 高さ | 斜辺 |
RSQPYRAMIDFLAT | 下底の長さ | 上底の長さ | 高さ | 側面の高さ |
RSQPYRAMIDFSUR | 下底の長さ | 上底の長さ | 高さ | 表面積 |
RSQPYRAMIDFSLA | 下底の長さ | 上底の長さ | 高さ | 側面積 |
RSQPYRAMIDFVOL | 下底の長さ | 上底の長さ | 高さ | 体積 |
引数 | 説明 | 引数の指定 | 既定値 |
---|---|---|---|
下底の長さ | 正四角錐台の下底の長さを数値で指定します。 | 必須 | (無し) |
上底の長さ | 正四角錐台の上底の長さを数値で指定します。 | 必須 | (無し) |
高さ | 正四角錐台の高さを数値で指定します。 | 必須 | (無し) |
コード
下記のコードを全てコピーし、標準モジュール等に貼り付けて下さい。下記のコード表示欄の右上に「Copy」ボタンがありますのでご使用下さい。なお、標準モジュールが何だか分からない方は、 Excelのカスタムワークシート関数を使用する方法 を参照して下さい。' [Excel関数]正四角錐台の体積や表面積を計算するRSQPYRAMIDFカスタムワークシート関数群
' Copyright (c) 2020-2024 黒箱
' This software is released under the MIT License;.
' このソフトウェアはMITライセンスの下でリリースされています。
'* @fn Public Function RSQPYRAMIDFEDG(ByVal a As Variant, ByVal b As Variant, ByVal h As Variant) As Variant
'* @brief 正四角錐台の下辺及び上底の長さと高さから正四角錐台の斜辺の長さを求めます。
'* @param[in] a 正四角錐台の下辺の長さの長さを指定します。
'* @param[in] b 正四角錐台の上底の長さの長さを指定します。
'* @param[in] h 正四角錐台の高さを指定します。
'* @return Variant 正四角錐台の斜辺の長さを返します。
'* @note 関数名の由来:Regular SQuare PYRAMID Frustum EDGe
Public Function RSQPYRAMIDFEDG(ByVal a As Variant, ByVal b As Variant, ByVal h As Variant) As Variant
'Const c As Double = (1 / 4) * (1 / (Tan((4 * Atn(1)) / 4))) ^ 2 ' ((1 / (Tan((4 * Atn(1)) / 4))) ^ 2) == 1
Const c As Double = 1 / 4
RSQPYRAMIDFEDG = (c * (a - b) ^ 2 + h ^ 2) ^ 0.5
End Function
'* @fn Public Public Function RSQPYRAMIDFLAT(ByVal a As Variant, ByVal b As Variant, ByVal h As Variant) As Variant
'* @brief 正四角錐台の下辺及び上底の長さと高さから正四角錐台の表面積を求めます。
'* @param[in] a 正四角錐台の下辺の長さの長さを指定します。
'* @param[in] b 正四角錐台の上底の長さの長さを指定します。
'* @param[in] h 正四角錐台の高さを指定します。
'* @return Variant 正四角錐台の表面積を返します。
'* @note 関数名の由来:Regular SQuare PYRAMID Frustum LATeral surface area
Public Function RSQPYRAMIDFLAT(ByVal a As Variant, ByVal b As Variant, ByVal h As Variant) As Variant
RSQPYRAMIDFLAT = 2 * (a + b) * (((a - b) / 2) ^ 2 + h ^ 2) ^ 0.5
End Function
'* @fn Public Function RSQPYRAMIDFSUR(ByVal a As Variant, ByVal b As Variant, ByVal h As Variant) As Variant
'* @brief 正四角錐台の下辺及び上底の長さと高さから正四角錐台の表面積を求めます。
'* @param[in] a 正四角錐台の下辺の長さの長さを指定します。
'* @param[in] b 正四角錐台の上底の長さの長さを指定します。
'* @param[in] h 正四角錐台の高さを指定します。
'* @return Variant 正四角錐台の表面積を返します。
'* @note 関数名の由来:Regular SQuare PYRAMID Frustum SURface Area
Public Function RSQPYRAMIDFSUR(ByVal a As Variant, ByVal b As Variant, ByVal h As Variant) As Variant
RSQPYRAMIDFSUR = RSQPYRAMIDFLAT(a, b, h) + a ^ 2 + b ^ 2
End Function
'* @fn Public Function RSQPYRAMIDFSLA(ByVal a As Variant, ByVal b As Variant, ByVal h As Variant) As Variant
'* @brief 正四角錐台の下辺及び上底の長さと斜辺から正四角錐台の側面の高さを求めます。
'* @param[in] a 正四角錐台の下辺の長さの長さを指定します。
'* @param[in] b 正四角錐台の上底の長さの長さを指定します。
'* @param[in] h 正四角錐台の高さを指定します。
'* @return Variant 正四角錐台の側面の高さを返します。
'* @note 関数名の由来:Regular SQuare PYRAMID Frustum SLAnt
Public Function RSQPYRAMIDFSLA(ByVal a As Variant, ByVal b As Variant, ByVal h As Variant) As Variant
RSQPYRAMIDFSLA = ((4 * RSQPYRAMIDFEDG(a, b, h) ^ 2 + (a - b) ^ 2)) ^ 0.5 / 2
End Function
'* @fn Public Function RSQPYRAMIDFVOL(ByVal a As Variant, ByVal b As Variant, ByVal h As Variant) As Variant
'* @brief 正四角錐台の下辺及び上底の長さと高さから正四角錐台の体積を求めます。
'* @param[in] a 正四角錐台の下辺の長さの長さを指定します。
'* @param[in] b 正四角錐台の上底の長さの長さを指定します。
'* @param[in] h 正四角錐台の高さを指定します。
'* @return Variant 正四角錐台の体積を返します。
'* @note 関数名の由来:Regular SQuare PYRAMID Frustum VOLume
Public Function RSQPYRAMIDFVOL(ByVal a As Variant, ByVal b As Variant, ByVal h As Variant) As Variant
Const c As Double = 1 / 3
RSQPYRAMIDFVOL = c * (a ^ 2 + a * b + b ^ 2) * h
End Function
プログラムの利用について
本プログラムのライセンスは「The MIT License」を適用しています。
本プログラムは無償で利用できますが、本プログラム内の著作権表示及びライセンス表示は削除せずに表示しておいて下さい。
必須ではございませんが、本ホームページのプログラムを書籍またはホームページ等で一般公開したい方は、お問い合わせフォームよりご連絡頂けると幸いです。
スポンサーリンク
Excelカスタム関数MITライセンス,カスタムワークシート関数,幾何学,数学
Posted by 黒箱
この記事のトラックバックURL
スポンサーリンク
カテゴリー
スポンサーリンク
-
ホーム -
上へ
PAGE TOP
ディスカッション
コメント一覧
まだ、コメントがありません