[Excel関数]斜切直円柱の体積や表面積を計算するTRUNRCCYLINDERカスタムワークシート関数群

2020年12月22日

説明

TRUNRCCYLINDERカスタムワークシート関数群は、斜切直円柱の体積や表面積などを計算します。斜切直円柱とは、直円柱の先端を斜めに切り落とした形状の立体です。

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

関数名機能関数名の由来
TRUNRCCYLINDERSMA斜切直円柱の半径及び2つの高さから、斜切直円柱の長軸半径を計算します。Truncated Right Circular CYLINDER SemiMajor Axis
TRUNRCCYLINDERSUR斜切直円柱の半径及び2つの高さから、斜切直円柱の表面積を計算します。Truncated Right Circular CYLINDER SURface area
TRUNRCCYLINDERVOL斜切直円柱の半径及び2つの高さから、斜切直円柱の体積を計算します。Truncated Right Circular CYLINDER VOLume

動作例

計算式

項目計算式補足
$$ 長軸半径(r_2) $$$$ r_2= \frac{\sqrt{(2 r_1)^2 + (h_2 – h_1)^2}}{2} $$
$$ 表面積(S) $$$$ S=\pi r_1\left(h_1+h_2+ r_1+\sqrt{{r_1}^2+\left(\frac{h_1-h_2}{2} \right)^2}\right) $$
$$ 体積(V) $$$$ V=\pi{r_1}^2 \frac{h_1+h_2}{2} $$

構文

関数名第1引数第2引数第3引数戻り値
RCCYLINDERSMA半径高さ1高さ2長軸半径
RCCYLINDERSUR半径高さ1高さ2表面積
RCCYLINDERVOL半径高さ1高さ2体積
引数説明引数の指定既定値
半径斜切直円柱の半径を数値で指定します。必須(無し)
高さ1斜切直円柱の1つ目の高さを数値で指定します。必須(無し)
高さ2斜切直円柱の2つ目の高さを数値で指定します。必須(無し)

コード

下記のコードを全てコピーし、標準モジュール等に貼り付けて下さい。下記のコード表示欄の右上に「Copy」ボタンがありますのでご使用下さい。なお、標準モジュールが何だか分からない方は、 Excelのカスタムワークシート関数を使用する方法 を参照して下さい。
' [Excel関数]斜切直円柱の体積や表面積を計算するTRUNRCCYLINDERカスタムワークシート関数群 
' Copyright (c) 2020-2024  黒箱 
' This software is released under the MIT License;. 
' このソフトウェアはMITライセンスの下でリリースされています。 

'* @fn Public Function RCHOLCYLINDERSMA(ByVal r As Variant, ByVal h1 As Variant, ByVal h2 As Variant) As Variant
'* @brief 斜切直円柱の辺の長さ及び高さから斜切直円柱の長軸半径を求めます。
'* @param[in] r 斜切直円柱の半径を指定します。
'* @param[in] h1 斜切直円柱の1つ目の高さを指定します。
'* @param[in] h2 斜切直円柱の2つ目の高さを指定します。
'* @return Variant 斜切直円柱の体積を返します。
'* @note 関数名の由来:Truncated Right Circular CYLINDER SemiMajor Axis
'* @note 斜切直円柱とは、直円柱の先端を斜めに切り落とした形状の立体です。
Public Function TRUNRCCYLINDERSMA(ByVal r As Variant, ByVal h1 As Variant, ByVal h2 As Variant) As Variant
    TRUNRCCYLINDERSMA = ((2 * r) ^ 2 + (h1 - h2) ^ 2) ^ 0.5 / 2
End Function


'* @fn Public Function TRUNRCCYLINDERSUR(ByVal r As Variant, ByVal h1 As Variant, ByVal h2 As Variant) As Variant
'* @brief 斜切直円柱の半径及び2つの高さから斜切直円柱の表面積を求めます。
'* @param[in] r 斜切直円柱の半径を指定します。
'* @param[in] h1 斜切直円柱の1つ目の高さを指定します。
'* @param[in] h2 斜切直円柱の2つ目の高さを指定します。
'* @return Variant 斜切直円柱の表面積を返します。
'* @note 関数名の由来:Truncated Right Circular CYLINDER SURface area
'* @note 斜切直円柱とは、直円柱の先端を斜めに切り落とした形状の立体です。
Public Function TRUNRCCYLINDERSUR(ByVal r As Variant, ByVal h1 As Variant, ByVal h2 As Variant) As Variant
Const c As Double = 3.14159265358979
    TRUNRCCYLINDERSUR = c * r * (h1 + h2 + (r + (r ^ 2 + ((h1 - h2) / 2) ^ 2) ^ 0.5))
End Function


'* @fn Public Function TRUNRCCYLINDERVOL(ByVal r As Variant, ByVal h1 As Variant, ByVal h2 As Variant) As Variant
'* @brief 斜切直円柱の辺の長さ及び高さから斜切直円柱の長軸半径を求めます。
'* @param[in] r 斜切直円柱の半径を指定します。
'* @param[in] h1 斜切直円柱の1つ目の高さを指定します。
'* @param[in] h2 斜切直円柱の2つ目の高さを指定します。
'* @return Variant 斜切直円柱の長軸半径を返します。
'* @note 関数名の由来:Truncated Right Circular CYLINDER VOLume
'* @note 斜切直円柱とは、直円柱の先端を斜めに切り落とした形状の立体です。
Public Function TRUNRCCYLINDERVOL(ByVal r As Variant, ByVal h1 As Variant, ByVal h2 As Variant) As Variant
Const c As Double = 3.14159265358979
    TRUNRCCYLINDERVOL = c * r ^ 2 * (h1 + h2) / 2
End Function


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

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

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

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

スポンサーリンク