Excel (一般機能)

Excelの一般機能に関するフォーラムです。
  • 解決済みのトピックにはコメントできません。
このトピックは解決済みです。
質問

 
(指定なし : 指定なし)
「この関数で何故やりたいことが実現できるのか教えてください」の続報です
投稿日時: 22/05/13 08:34:21
投稿者: のらねこ

WinArrowさん、MMYSさん、先日は下記の質問に対してご教授ありがとうございました。
 
https://www.moug.net/faq/viewtopic.php?t=81422
https://www.moug.net/faq/viewtopic.php?t=81435
 
アドバイスに対して自分なりの回答を持たないままコメントをするのは芸がないと思い、自分なりに理解をするために時間がかかってしまいました。
改めてお礼を申し上げるとともに、お二人からご教授いただいた考えを自分なりに理解した考えについてお伝えさせていただきます。
 
@255文字を超える検索
=index(検索範囲,match(true,検索範囲=検索値,0))
ctrl+shift+enter で決定する
 
A2=検索値
D2:D4=検索値が含まれる範囲
E2:E4=返す値が含まれる範囲
だとして、E4にA2と等しい値があるとします。
 
該当の式
 {=INDEX(E$2:E$4,MATCH(TRUE,D$2:D$4=A2,0))}
 
「D$2:D$4=A2」で、D2、D3、D4がそれぞれA2と等しいか判定
 {=INDEX(E$2:E$4,MATCH(TRUE,{D2=A2,D3=A2,D4=A2},0))}
 
判定結果がTRUEとFALSEになる(例ではD4=A2)
 {=INDEX(E$2:E$4,MATCH(TRUE,{FALSE,FALSE,TRUE},0))}
 
MATCH関数で配列{FALSE,FALSE,TRUE}の内、TRUEが何番目に含まれるか判定(例では3つ目)
 {=INDEX(E$2:E$4,MATCH(TRUE,{FALSE,FALSE,TRUE},0))}
 
INDEX関数で返す値が含まれる範囲(E2:E4)の3行目を検索
 =INDEX(E$2:E$4,3)
 
E4セルを表示
 =E4
 
このように処理されていると考えたのですが、いかがでしょうか。
理解不足がございましたらご意見をいただけますと幸いです。

回答
投稿日時: 22/05/13 11:11:53
投稿者: WinArrow
投稿者のウェブサイトに移動

概ね、よいとおもいます。
 
「[」「}」は、2重になっているのではなく、
考え方として、本来の「[」「}」は、内側だけのはずです。

投稿日時: 22/05/13 21:00:00
投稿者: のらねこ

式の見た目としては外側に{}がついていても、内部処理的には実際に配列になっているところが{}にかかっているということなのですね。
理解できた気でいましたがまだまだでした。ありがとうございます!
 
最初の質問のパターンAについてはまだ自分なりの納得が得られる段階に達せていないので、後日改めて投稿させていただきたいと思います。
アドバイスありがとうございました。