• ベストアンサー

こんなExcelの関数ありますか?

Excelで例えばA1~A50まで数字が入っている時に(1-A1)*(1-A2)*…*(1-A50)を関数で簡単に計算することはできますか? B列にB1=1-A1、B2=…と入力してB列を掛けるという以外で一発で計算する方法があったら教えてください。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • taocat
  • ベストアンサー率61% (191/310)
回答No.2

再びのこんにちは。 >「色々ある」というのは他の方法もあるということですか? 「色々ある」ではなくて「色々あるとは思いますが」です。 微妙に違いますよね?(^^; 一般的に言って式を作る場合はほとんどの場合「複数」の方法がありますので、そのことを言っただけです。 この時間まで別解がないということは......? 次に、 >配列数式でない普通の関数でもできるのでしょうか? ひとつの関数では無理ではないかと思われます。 配列を扱える関数と組み合わせれば可能です。 例えば、INDEX関数と組み合わせて  = PRODUCT(INDEX(1-A1:A50,,1)) これは配列数式ではありませんので確定はEnterで。   ご自分でも関数を色々調べてみてください。 ただ調べるのではなくて、配列を扱えるのか等々、 その関数の特徴を頭に入れながら。。。 当方、VBAの方が好みなのでExcel一般機能はちょと苦手です。 以上です。  

c710679
質問者

お礼

Index関数を使うと配列数式にしなくていいんですか。 式を他人が直すことがあるため、配列数式だとわかりにくいかなと思っていたので、こちらを使わせていただきます。 関数のヘルプはいろいろ探しているつもりなのですが、見つけ方がヘタなのか、なかなか思うようにいかず、ここで質問させていただきました。 しかし、Index関数で「1-A1:A50」のような使用方法ができるとは知りませんでした。 これが配列を扱える関数ということなんですね? でもヘルプを見ましたが、そういう使い方は載ってませんでした。 何を見ると、そういう高度なことが載っているのでしょうか?

その他の回答 (2)

  • taocat
  • ベストアンサー率61% (191/310)
回答No.3

三度目の登場です。 >>ご自分でも関数を色々調べてみてください これは「今後の為」にということです。 そして、 >でもヘルプを見ましたが、そういう使い方は載ってませんでした。 >何を見ると、そういう高度なことが載っているのでしょうか? 先の使い方は高度でも何でもありません。 INDEX関数が「値」を返したり、「値の配列」を返すということはヘルプに載っていますからそれをちゃんと理解すれば、後はそれを応用するだけのことです。 そうは言っても今回のように配列を利用すれば出来る、と気づき、どの関数が配列を返すのかが分かってないと先へは進めませんよね。 そのためには使う使わないに拘わらず暇を見つけては色んな関数のヘルプを眺めてその特徴を覚えるしかありません。 またヘルプだけではなくあちこちの掲示板などもちょいちょい覗いてみることも勉強になると思います。 ということで、今回の質問への回答及びアドバイスはこれで終わりにしたいと思いますが。。。。 以上です。

c710679
質問者

お礼

ヘルプの隅の隅まで読み込めば、いろいろと書いてあるんですね。 今回の質問では質問への答え自体も参考になりましたが、もっと大きい意味で勉強になりました。 これからもっといろいろと使いこなせるように精進していこうと思います。 本当にありがとうございました。

  • taocat
  • ベストアンサー率61% (191/310)
回答No.1

こんにちは。 色々あるとは思いますが、一案。  = PRODUCT((1-A1:A50)) 式を確定するときは、 Enter ではなくて Ctrl+Shift+Enter で確定して配列数式にする 以上です。  

c710679
質問者

お礼

あ~、配列数式というのはこういう時に使うのですか。 よくわかりました。 ありがとうございました。

c710679
質問者

補足

解決しましたが、単なる興味で伺います。 「色々ある」というのは他の方法もあるということですか? 配列数式でない普通の関数でもできるのでしょうか?

関連するQ&A