アプリ版:「スタンプのみでお礼する」機能のリリースについて

最近 Excel 2013 から乗り換えて Excel 2019 を使い始めました。

例えば次式(実用しているものです)
=IF(H24=1,SUMIFS($D$2:$D$596,$A$2:$A$596,$H$2,$B$2:$B$596,$G6,$E$2:$E$596,H22),AVERAGEIFS($D$2:$D$596,$A$2:$A$596,$H$2,$B$2:$B$596,$G6,$E$2:$E$596,H22))……(1)
を考えます。
此処で、SUMIFS() と AVERAGEIFS() に着目したとき、両者の括弧内の
$D$2:$D$596,$A$2:$A$596,$H$2,$B$2:$B$596,$G6,$E$2:$E$596,H22……(2)
は全く同じですが、これに例えば argument という名前を付けることが可能なら、上式を
=IF(H24=1,SUMIFS(argument),AVERAGEIFS(argument))……………………(3)
のように簡単化(数式を短く)出来るのになぁ~、なんて思ってます。

(2) の引数群に名前を付ける方法があればその手順を教えてください。
それが分かれば、(3) が可能かどうか試してみたいのです。

私の説明内容に不備や疑問があれば補足させていただきますので、その旨をお知らせください。

A 回答 (2件)

複数個の引数をまとめてひとつの名前にするという時点で無理ではないでしょうか?


おそらくSUMIFS等の関数は、その名前を与えられても複数の引数を含んでいると解釈できないと思います。

なお、個々の引数の文字列を特定のセルに書いておき、そのセルに名前をつけ、INDIRECT(名前)で使用するというのはできました。
 A1セルに"$D$2:$D$596"をかく
 A1セルに"ARG_1"と名前をつける
 =SUMIFS(INDIRECT(ARG_1), ……)として使用


もちろんユーザー定義関数MySUMIFSのようなものをVBAで記述して使用すれば、A1セルに複数個の引数の文字列を書いて、ユーザー定義関数の引数としてA1の名前を渡すみたいな使い方はできると思います。
 =MySUMIFS(ARG)
    • good
    • 0
この回答へのお礼

》 …という時点で無理ではないでしょうか?
やっぱり。了解しました。

ありがとうございました。

お礼日時:2019/08/13 01:13

セルもしくは範囲に名前をつけた場合は、INDIRECT関数を使用しなくても式にそのまま使えますよ。



質問者さんは、そのレベルの内容はご存知かとは思いますが。
    • good
    • 0
この回答へのお礼

コメント、ありがとうございました。

お礼日時:2019/08/13 01:14

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!