- 締切済み
提示された計算式の動作結果の報告と質問
nishi6さんへ 9/17の回答ありがとうございます。 修正した計算式を「コピー」し「貼り付け」を行い、動作を確認しました。 目的通りの結果が得られたことをご報告します。ありがとうございました。 「A4セル」に入力する計算式がポイントですね。計算式は、C列の検索開始行が見事に検索した次の行からになっています。感心しました。 「IFERROR]関数は今まで使ったことがありませんでした。また「INDIRECT」関数の有用性を少しだけ知ることが出来ました。 質問事項 1. A4セルに入力する計算式の中でIFERROR(A3+MATCH........で 確認します。 INDIRECT関数の内容は、Sheet10のC9:C189 MATCH関数の内容は、A$1=9をC9:C189の範囲で完全一致で該当するものを検索すると、Sheet10のC17が該当する。C17はA列のNo.16に該当する。 A3+の意味するところは何ですか?わかりません。 2. B3の入力式においてわからないことがあります。 2-1. INDEX(Sheet10!$B$2:$B$189,A3,1)<>"",はIF関数の論理式ですよね。 2-2. <>"",のあとのINDEX(Sheet10!$B$2:$B$189,A3,1)は論理式がTRUEの場合の処理ですよね。 2-3. 論理式の( )の後の<>"",の意味は何ですか?私は今までこの様な記述形式は目にしたことがありませんでした。INDEX関数による検索では、数字や文字が何もない(空白)と言う様な意味ですか? いつまでもお手数をおかけして申し訳ありません。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- nishi6
- ベストアンサー率67% (869/1280)
>A3+の意味するところは何ですか?わかりません。 A3の式でSheet10のC2:C189で、9組の最初は7番目に見つかります。Match関数は検索領域で、上から最初に見つかったのが何番目か返します。 7番目が見つかったので、次は8番目から下に向かって見つければいいわけですが、「番目」をセルの座標に変える必要があります。 A4セルの(A3+2)は(A3+1+1)の意味で、A3+1はA3セルの「次の番目」から見つけることを、「+1」はSheet10で表題があるので、番目をセル座標に変えるためです。 また、A4セルのIFERROR(A3+MATCH のA3は、Match以下の算式で見つかった値は、狭くした検索領域での結果なのでA3に加算しています。 何もしないと、A3で7番目が見つかり、狭めた領域で9番目が見つかるわけです。A4ではこれをSheet10の全検索領域の番目にするために加算しています。 INDIRECT関数を使わないで、このような問題を別の関数で表したこともありますが、複雑で長くなり、誰もメンテナンスできないことが多かったです。30センチ、50センチの算式とか言って、作らないように指導していました。 >2.B3の入力式においてわからないことがあります。 >2-1.INDEX(Sheet10!$B$2:$B$189,A3,1)<>"",はIF関数の論理式ですよね。 そうです。質問に氏名に空白があると書いてあったので対応しました。何もしないと、氏名が未入力の場合、「0」が表示されるのでこれを回避しています。書式でも対応できますが、話が逸れると思いIFを使いました。 >2-2.<>"",のあとのINDEX(Sheet10!$B$2:$B$189,A3,1)は論理式がTRUEの場合の処理ですよね。 そうです。IF(A3番目の値が未入力でなければ,A3番目の値,未入力なら"") という意味です。 かなりダサい書き方ですが、こういう時の算式は、カッコよさよりも分かりやすく書くようにしています。 >2-3.論理式の( )の後の<>"",の意味は何ですか?私は今までこの様な記述形式は目にしたことがありませんでした。INDEX関数による検索では、数字や文字が何もない(空白)と言う様な意味ですか? そうです。「空白」という意味ですが、「空白」という意味ではなく。「スペース(空白)」が入力されていると捉えられる場合があるので、注意が必要です。 しかし算式で「""」をセットすると、そのセルは算式がセットされていて、見た目が何も入力されていないように見えるということになります。 質問にうまく答えられたでしょうか。