アプリ版:「スタンプのみでお礼する」機能のリリースについて

Excel初心者ですが教えて下さい。
顧客管理簿を毎日入力しているのですがシート1に全て入力しています。
シート1のG列にプルダウンのリストを作っておりそこで「申し込み・キャンセル・保留」と進捗状態をプルダウンで選んでいるのですが、ここのプルダウン(G列)で「保留」を選んだら、そこの保留にした行全てをシート2に反映(コピー?)するという事は関数でできるものなのでしょうか?シート2を保留の顧客シートにしたいのです。尚且つシート1のG列で保留にしていた所を「申し込み」にプルダウンで変更するとシート2の反映された行も消えるというのが理想です。マクロでしか無理でしょうか?ご教授いただければ幸いです。

 A  B  C  D  E  F  G  H  I  J  K・・・APまで項目あり
5日付               進捗  
6
7
8

シート1とシート2には4行目まで色々入力されておりデータ入力分は5行目から始まります。

A 回答 (2件)

No.1です。



>最後のご指摘あるように空白セルに0が出てくるのですがどうすればいいでしょうか?

Sheet2、A5セルの数式を
=IFERROR(INDEX(Sheet1!A$5:A$1000,SMALL(IF(Sheet1!$G$5:$G$1000="保留",ROW(A$5:A$1000)-4),ROW(A1)))&"","")

(前回と微妙に異なります)
前回同様配列数式です。
ただし、これでは文字列になってしまいますので
日付セルの表示形式を変えたり、数値セルの計算等はできません。

一番簡単なのはSheet2が選択されている状態で
メニュー → ファイル → オプション → 詳細設定 → 「次のシートで作業するときの・・・」 → 「ゼロ値のセルにゼロを表示する」のチェックを外す!
という方法です。
しかし数値セルで「0」表示が必要な場合の「0」も表示されなくなります。

数値セルの「0」は表示しなくてはならない場合は長くなりますが

=IFERROR(IF(INDEX(Sheet1!A$5:A$1000,SMALL(IF(Sheet1!$G$5:$G$1000="保留",ROW(A$5:A$1000)-4),ROW(A1)))="","",INDEX(Sheet1!A$5:A$1000,SMALL(IF(Sheet1!$G$5:$G$1000="保留",ROW(A$5:A$1000)-4),ROW(A1)))),"")
(これも配列数式です)

としてみてください。m(_ _)m
    • good
    • 1
この回答へのお礼

tom04様
再度ご教授頂きありがとうございます!
表には0入力する所はなかったので最初の数式で0表示のチェック外すことにより
完璧になりました。とても助かりました!ありがとうございますm(_ _)m

お礼日時:2016/12/17 19:23

こんばんは!



Sheet2のA5セルに
=IFERROR(INDEX(Sheet1!A$5:A$1000,SMALL(IF(Sheet1!$G$5:$G$1000="保留",ROW(A$5:A$1000)-4),ROW(A1))),"")

配列数式ですのでCtrl+Shift+Enterで確定!
この画面からコピー&ペーストする場合は
上記数式をドラッグ&コピー → A5セルを選択 → 数式バー内に貼り付け → そのまま(編集可能なまま)
Ctrl+Shiftキーを押しながらEnterキーで確定!
A5セルのフィルハンドルでAP5セルまでコピー! → セルの表示形式は適宜変更 → A5~AP5セルを範囲指定 → AP5セルのフィルハンドルで下へコピーしてみてください。

※ 参照先が空白セルの場合は「0」が表示されます。
もし空白セルがある場合は対処方法を考えなければなりません。m(_ _)m
    • good
    • 0
この回答へのお礼

tom04様
ありがとうございます!まさに理想通りの事ができました。
最後のご指摘あるように空白セルに0が出てくるのですがどうすればいいでしょうか?度々すみませんがご教授いただけないでしょうか。。

お礼日時:2016/12/17 18:27

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!