- ベストアンサー
(MS-EXCEL)ある値から別の値を導きたい
Aセルの値に基づいて、Bセルの値を関数で設定する、その関数の質問です。 Aセルが3なら→Bセルは1 Aセルが7なら→Bセルは2 CHOOSE関数では、このような条件が多いとか、Aセルの値が大きいと、「,」の数が多くなって大変です。 配列を使うなどして、簡単というか解りやすい数式を探しています。 ただし、別のセルを使う方法はナシでお願いします。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
回答がつかないようですね・・・ 結局、質問文だけでは規則性が判らないんですよね。 それがあって初めて数式で導き出せるのであって、数字が初めにあってそれを出すための数式をその数値ごとに作成するのは本末転倒だと思います。(だから式が長くなっちゃうんですよね?) CHOOSE関数も引数は30個までしか指定できませんし、それなら前に回答したと思いますがLOOKUP系の数式を使うほうが判りやすくてスマートだと思いますよ。 もう少し、数字の例示とどうしても作業セルが使えないのならその理由とかを書いていただけると解決策があるかもしれません。
お礼
またまたありがとうございます。 規則性が無いのです。 あるのは、Bセルの関数結果値?が、Aセルに応じて1→2→3→…と1つずつ上がっていくことです。 >>だから式が長く… そうです、それを短くしたい、本末を転倒したいから質問しました。 作業セルを使えない理由は、ありません。 使わない方法があるのか?それが質問です。 「配列」が良く解らないですが、それを使ったりで、何か方法があるだろうとの確信があったので質問しました。
補足
どうもありがとうございました。 自己解決しました。 Bセルの数式 =CHOOSE(MATCH(Aセル,{配列1}),配列2) 要するに、配列1および配列2は、それぞれ規則性が無いことと、配列内の数が多いことから、対応させるための数式が長くなる、それを何とかしたかったわけです。 もちろん、配列1と配列2は、配列内の数が同じで、たとえばAセルの値が配列1の1番目だとすると、Bセルは配列2の1番目になる、ということです。 =CHOOSE(MATCH…)は、エクセル関係のサイトで良く紹介されているみたいです。ということは、容易に回答が付く質問だったということで、私の質問が悪かったということですね。 どうも、お騒がせしました。