- ベストアンサー
エクセルの参照結果を空欄を詰めて表示させたい
- エクセルで参照結果を表示させる方法として、空欄を詰める方法があります。
- 具体的な手順としては、参照式の前にIF関数を使い、条件に応じて空欄を表示するか参照結果を表示するかを判断します。
- また、別のシートに日付を入力し、その日に該当する人の名前を表示するためには、VLOOKUP関数を使用します。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
N02の回答者ですが、私の回答も行がずれていますね。 日付はSheet1の3行目に入力されていてデータは7行目からなので、以下のように修正してください。 =INDEX(Sheet1!$B:$B,SMALL(INDEX((INDEX(Sheet1!$7:$100,0,MATCH($N$1,Sheet1!$3:$3,0)+8)<>"当")*1000+ROW($7:$100),),ROW(1:1)))&""
その他の回答 (3)
- tom04
- ベストアンサー率49% (2537/5117)
No.1です。 たびたびごめんなさい。 前回の数式は1行ずれていました。 Sheet2のA30セルの数式を =IF(N$1="","",IFERROR(INDEX(Sheet1!B$7:B$23,SMALL(IF(OFFSET(Sheet1!A$7:A$23,,MATCH(N$1,Sheet1!$3:$3,0)+7,,1)="当",ROW(A$1:A$17)),ROW(A1))),"")) に訂正してください。 ※ 前回同様、配列数式です。m(_ _)m
お礼
再度のご投稿誠にありがとうございました。
- MackyNo1
- ベストアンサー率53% (1521/2850)
例示のレイアウトならSheet2に以下の式を入力して下方向にオートフィルしてください。 =INDEX(Sheet1!$B:$B,SMALL(INDEX((INDEX(Sheet1!$6:$100,0,MATCH($N$1,Sheet1!$4:$4,0)+8)<>"当")*1000+ROW($6:$100),),ROW(1:1)))&""
お礼
ご回答誠にありがとうございました。 #N/Aと出てしまうのですが、私の環境の問題でしょうか???
- tom04
- ベストアンサー率49% (2537/5117)
こんばんは! アップされている画像を拝見しました。 質問では >3. sheet2のN2欄に3月1日から31日までの日付を入力します。 となっていますが、画像ではN1セルに日付を入力するようですので、 N1に表示したい日付を入力すると表示するようにしてみました。 今回は「く」限定のようですので・・・ Sheet2のA30セルに =IF(N$1="","",IFERROR(INDEX(Sheet1!B$6:B$22,SMALL(IF(OFFSET(Sheet1!A$6:A$22,,MATCH(N$1,Sheet1!$2:$2,0)+7,,1)="当",ROW(A$1:A$17)),ROW(A1))),"")) これは配列数式になりますので、Shift+Ctrl+Enterで確定! この画面からコピー&ペーストする場合は 上記数式をドラッグ&コピー → Sheet2のA30セルを選択 → 数式バー内に貼り付け → そのまま(編集可能なまま) Shift+Ctrlキーを押しながらEnterキーで確定! 数式の前後の{ }マークが入り配列数式になります。 このA30セルをオートフィルで下へコピーしてみてください。 ※ 数式の細かい説明は割愛します。m(_ _)m
お礼
素早いご回答誠にありがとうございました。 こんなのが簡単に出来てしまうのが本当に羨ましいです。 ありがとうございました。
お礼
素早いご回答誠にありがとうございました。 こんなのが簡単に出来てしまうのが本当に羨ましいです。 心より感謝しております。ありがとうございました。