ONLYOFFICEマクロのカスタム関数の紹介
ONLYOFFICE Docs 8.1にカスタム関数を紹介できることを嬉しく思います。この新機能は、ONLYOFFICEスプレッドシートエディタでのマクロの使い勝手を大幅に向上させます。
カスタム関数について
様々なパラメータや計算式を計算するためのカスタム関数を挿入できる機能です。これにより、特定の計算を実行する特定の関数を追加し、マクロコードで使用することができます。
ここでは、特定の条件に基づいて2つの数値の和を計算するカスタム関数の例を示します。
マクロコードでのこの関数の使い方は次のとおりです。
そして最終的な結果は以下のとおりです。
どこにあるのか:表計算エディタ > プラグイン > マクロ > カスタム関数
その他の例
カスタム関数の例をさらに見てみましょう:
- 幾何平均
幾何平均は、乗算を含むデータセットや数桁にまたがるデータセットに有用な中心傾向の尺度です。N個の数の積のN乗根として計算されます。
GM=(∏i=1nxi)n1
JavaScriptを使って幾何平均のカスタム関数を実装してみましょう。Math.sqrtメソッドを利用します。
(function()
{
/**
* Function that calculates the geometric mean of two numbers
* @customfunction
* @param {number} num1 The first number.
* @param {number} num2 The second number.
* @returns {number} The geometric mean of the two numbers.
*/
function gm(num1, num2) {
return Math.sqrt(num1 * num2);
}
Api.AddCustomFunction(gm);
})();
ご覧のように、Api.AddCustomFunctionメソッドを使用してgm関数を追加し、マクロスコープで実行可能にしました。
次に、この関数をマクロ コードで呼び出します。
(function()
{
var oWorksheet = Api.GetActiveSheet();
oWorksheet.GetRange("A1").SetValue("=GM(16, 36)");
})();
- 調和平均
調和平均は、率や比率を含むデータセットに有用な中心傾向の尺度です。データ値が速度(時間あたりの距離)や密度(体積あたりの質量)のような単位に関連して定義されている場合に特に適しています。
H=∑i=1nxi1n
以下はカスタム関数の実装です。
(function()
{
/**
* Function that calculates the harmonic mean of two numbers
* @customfunction
* @param {number} num1 The first number.
* @param {number} num2 The second number.
* @returns {number} The harmonic mean of the two numbers.
*/
function hm(num1, num2) {
return 2 / ((1 / num1) + (1 / num2));
}
Api.AddCustomFunction(hm);
})();
そしてマクロの実装です。
(function()
{
var oWorksheet = Api.GetActiveSheet();
oWorksheet.GetRange("A1").SetValue("=HM(16, 36)");
})();
- 二乗平均平方根
二乗平均平方根(RMS)は、変化する量の大きさの統計的尺度です。値が正または負である可能性があり、符号に関係なく全体の大きさを測定したい場合に特に役立ちます。
RMS=n1∑i=1nxi2
このカスタム関数を構築するために、再びMath.sqrtメソッドを使用しますが、パラメータは異なります:
(function()
{
/**
* Function that calculates the root mean square (RMS) of two numbers
* @customfunction
* @param {number} num1 The first number.
* @param {number} num2 The second number.
* @returns {number} The root mean square (RMS) of the two numbers.
*/
function rms(num1, num2) {
return Math.sqrt((num1 ** 2 + num2 ** 2) / 2);
}
Api.AddCustomFunction(rms);
})();
そして、マクロ・コードでその関数を呼び出します。
(function()
{
var oWorksheet = Api.GetActiveSheet();
oWorksheet.GetRange("A1").SetValue("=RMS(5, 8)");
})();
では、これらのカスタム関数を実際に使ってみましょう!
私たちは、この新しく追加された機能があなたのツールキットの貴重な資産となり、皆さまのニーズに合わせたカスタム機能を作成する能力であなたのワークフローを合理化することを願っています。ONLYOFFICEでは、革新的なツールや機能を実装することで、お客様に優れた能力を提供することを第一の目標としています。ご質問やご提案がございましたら、ご遠慮なくご連絡ください。
ONLYOFFICEの無料アカウントを登録する
オンラインでドキュメント、スプレッドシート、スライド、フォーム、PDFファイルの閲覧、編集、共同作業