- ベストアンサー
CSE数式についての疑問
- なぜ、CHOOSEの部分を、IF({TRUE,FALSE},C3:C8,A2:A7)に変えても同じ結果なのでしょうか?この関数(IF({TRUE,FALSE},C3:C8,A2:A7)の事)はどういう意味があるのでしょうか?
- =VLOOKUP(E3, CHOOSE({1,2,3},C3:C8,B2:B7,A2:A7),3,0)でした。これでご教授いただけないでしょうか?
- 数式を直してみれば解りますが「配列の一部を変更できません」と出てきます。はどういう事でしょうか?ご教授いただけないでしょうか?
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
この数式を理解するには、インストラクター並のレベルが必要です。失礼ですが、貴殿の能力はインストラクター並ではありません。それどころか、基本すら理解していないように見受けられます。数学に例えれば、掛け算が解らないのに微分積分に挑戦している様です。 まず、VLOOKUP の第4引数の1 0 TRUE FALSEの違いは判りますか。貴殿の文章を読んでいると、ここすら混乱しているようです。ここが解るかどうか、補足に書いて下さい。 何故置き換えても同じなのかは、この数式を理解しなければなりません。 https://okwave.jp/qa/q9875174.html の説明で理解できないなら、理解するのは無理です。 VLOOKUP関数やHLOOKUP関数は、表がずれていたり、離れたりしていたらと質問され、無理やり作り出した関数です。使ってはいけないし、理解しても何の役にも立ちません。 会社でこんな数式を使えば、作り直せといわれます。まずは王道であるINDEX とMATCH を使うやり方を身に着けて下さい。そうすれば、この難しい関数は不要になります。 =VLOOKUP(E3,CHOOSE({1,2,3},C3:C8,B2:B7,A2:A7),3,0) https://okwave.jp/qa/q9875174.html、No5 のお礼に >CHOOSE関数に引数を3つ指定する場合 と書いてあったので、そんなことをしても何の役にも立たないという事例で上げました。何の役にも立たないとという事だけ、理解すればいいです。 「配列の一部を変更できません」これは、別の話になります。 https://oshiete.goo.ne.jp/qa/12302300.html https://oshiete.goo.ne.jp/qa/12304313.html を見て、 =IF({TRUE,FALSE},C3:C8,A2:A7) だけを入力すると思いました。 この質問自体、ここしか書いてないので、回答者はこれが全てだと思い、違う回答をします。 https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q12241336457 を見ると、関数の一部であり、 =VLOOKUP(E3,IF({TRUE,FALSE},C3:C8,A2:A7),2,1) にするという意味です。であれば、この現象は起きません。 また、ここだけを入力しても、MICROSOFT365なら、スピルが使えるのでこの現象は起きません。
その他の回答 (1)
- bunjii
- ベストアンサー率43% (3589/8249)
>で、=VLOOKUP(E3, CHOOSE({1,2,3},C3:C8,B2:B7,A2:A7),3,0)でした。 提示されたURLの数式と異なりますので「なぜ、CHOOSEの部分を、IF({TRUE,FALSE},C3:C8,A2:A7)に変えても同じ結果なのでしょうか?」という質問は整合性に欠けます。 提示のURLでベストアンサーにあるCHOOSE関数は下記のとおりです。 =VLOOKUP(E3,CHOOSE({1,2},C3:C8,A2:A7),2,1) ----- ① これの第2引数のCHOOSE関数を質問にあるIF関数に置き換えると次のようになるはずです。 =VLOOKUP(E3,IF({TRUE,FALSE},C3:C8,A2:A7),2,1) ----- ② ①と②が等価であることはソフトの作成者が意図したことであるか否かは分かりませんが処理の結果が同じになることを利用者が見つけたのでしょう。 一般的には作業用テーブルを作成してからVLOOKUP関数を使うことで処理過程を明確化します。 作業用テーブルの代わりにCHOOSE関数やIF関数を応用する手法は特殊な例なので情報処理のスペシャリストにならないと理解できないかも知れません。 あなたは同じ質問を繰り返していますので現時点では理解できないでしょう。(回答は前の質問にあります) >最後のVLOOKUP関数の 1は、false で見つかるものを、trueで見つけても良いという事でしょうか? VLOOKUP関数の検索条件は検索範囲が昇順で整列されているか否かによります。 検索範囲がランダムに配置されている場合はFALSEにしてください。 TRUEとFALSEは論理値なので数値化すると1と0になります。(TRUE=1、FALSE=0)