以下の数式を入力したセルを参照して、氏名をドロップダウンリストから選べるようにしたいと考えております。しかし、下記の方法ですと、空白のセル(参照セルに値が無かった場合に空白""が返されたセル)が空白のままドロップダウンリストに表示されてしまい、目的の氏名をリストから探す時に手間がかかってしまいます。
<想定しているシート>
A B C D
1
2
3 氏名 物品 帳票氏名 重複判定
4 A川B男 ○○ A川B男 1
5 A川B男 ×× 0
6 C田D夫 ▽ C田D夫 1
7 C田D夫 ◆ 0
5 C田D夫 □ 0
※C4の入力数式: =if(D4=1,A4,"")
※C1セルの入力規則の元の値に =offset(C4,0,0,counta(C4:C1000),1)
上記の方法でも、C1セルのドロップダウンリストには空白を伴って氏名が表示される形となってしまいます。
このように、数式が入力された結果空白になっているセルを、ドロップダウンリストで非表示にする方法はないでしょうか?
どうぞよろしくお願い申し上げます。
No.4ベストアンサー
- 回答日時:
>このように、数式が入力された結果空白になっているセルを、ドロップダウンリストで非表示にする方法はないでしょうか?
D列の重複判定の数式を以下のように変更して、C列の帳票氏名の数式も変更すると空白行を詰めることができます。
D4=IF(COUNTIF(A$3:A4,A4)=1,ROW(),"")
最初に登場した氏名のときに行番号をセットする。
2回目以降は""をセットする。
D4セルを必要数下へコピーします。
C4=IFERROR(INDEX(A:A,SMALL(D$4:D$8,ROWS(A$4:A4))),"")
行番号の小さい順に氏名をセットする。
C4セルを必要数下へコピーします。
IFERROR関数はExcel 2007以降のバージョンに組み込まれています。
Excel 2003以前の場合は次の数式で対処してください。
C4=IF(ROWS(A$4:A4)<=COUNT(D$4:D$8),INDEX(A:A,SMALL(D$4:D$8,ROWS(A$4:A4))),"")
貼付画像はExcel 2013で検証した結果です。
提示された模擬データの範囲だけで処理していますので、実際のデータに合わせて対象範囲を変更してください。
No.5
- 回答日時:
たびたび済ません。
こちらで確認したところ、No3の回答の数式にも「)」が不足する誤りがあったようです。正しくは以下の式をC4セルに入力して下方向にオートフィルしてください。
=INDEX(A:A,SMALL(INDEX((MATCH(A$4:A$1000&"",A$4:A$1000&"",)<>ROW(A$4:A$1000)-3)*1000+ROW(A$4:A$1000),),ROW(A1)))&""
ちなみに、私の提示した数式は補助列を使用せずにC列に直接重複のないデータを詰めて表示する数式ですが、データ範囲が変わる場合、「ROW(A$4:A$1000)-3」の「3」の数字は、元データの最初の行より1つ上の行番号(項目名の行番号)を指定してください。
No.3
- 回答日時:
No2の回答の訂正と補足です。
お分かりになると思いますが、重複のないデータの数式に誤りがありました。
正しくは以下の数式です。
=INDEX(A:A,SMALL(INDEX((MATCH(A$4:A$1000&"",A$4:A$1000&"",)<>ROW(A$4:A$1000-3)*1000+ROW(A$4:A$1000),),ROW(A1)))&""
上記の数式は配列を利用した数式ですので、元データ範囲が大きすぎたり、表示データ数(オートフィルコピーをする数)が多くなると、再計算に時間がかかりますので、データ範囲や必要以上にオートフィルコピーしないなどの対応をしてください。
回答ありがとうございます。
いただきました数式を入力してみたのですが、エラーが出てしまいました。
Index関数を使ったことがなかったので、どこがエラーかを判断できませんでした。
もしよかったらまた教えてください。
No.2
- 回答日時:
C4セルに以下の式を入力し、下方向にオートフィルコピーして重複のない名前を表示します。
=INDEX(A:A,SMALL(INDEX((MATCH(A$4:A$1000&"",A$4:A$103&"",)<>ROW(A$4:A$1000-3)*1000+ROW(A$4:A$1000),),ROW(A1)))&""
次に「挿入」「名前」「定義」(Excel2007以降なら「数式」「名前の定義」)で例えば「list」と名前を付け以下の式を入力します。
=$C$4:INDEX($C4:$C1000,SUMPRODUCT((LEN($C$4:$C$1000)>0)*1))
最後に入力規則対象範囲を選択して、入力規則の「リスト」で参照範囲に「=list」と入力します。
No.1
- 回答日時:
こんばんは!
入力規則のリストの元の値の欄で一気に数式で!となると難しいと思います。
そこで一例です。
↓の画像のように別列に空白セル以外を表示させそれをリスト表示させるようにしてみてはどうでしょうか?
画像ではF1セルに
=IF(COUNTIF(C$4:C$1000,"?*")<ROW(),"",INDEX(C$4:C$1000,SMALL(IF(C$4:C$1000<>"",ROW(A$4:A$1000)-3),ROW())))
配列数式になりますので、Ctrl+Shift+Enterで確定!
この画面からコピー&ペーストする場合は
上記数式をドラッグ&コピー → F1セルを選択 → 数式バー内に貼り付け → そのまま(編集可能なまま)
Ctrl+Shiftキーを押しながらEnterキーで確定!
数式の前後に{ }マークが入り配列数式になります。
F1セルのフィルハンドルでずぃ~~~!っと下へコピーしておきます。
Excel2007以降をお使いの場合は
=IFERROR(INDEX(C$4:C$1000,SMALL(IF(C$4:C$1000<>"",ROW(A$4:A$1000)-3),ROW())),"")
という数式でOKです。
(こちらも配列数式です)
最後にC1セルのリストの元の値の欄に
=OFFSET(F1,,,COUNTIF(F:F,"?*"))
という数式を入れOK
これで空白セルは表示されないと思います。m(_ _)m
早速、ありがとうございます。
やってみたんですが、Fセルに氏名が表示されませんでした。
配列の入力等、勉強になりました。ありがとうございます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
あるあるbotに投稿したけど採用されなかったあるある募集
あるあるbotに投稿したけど採用されなかったあるあるをこちらに投稿してください
-
フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
あなたが普段思っている「これまだ誰も言ってなかったけど共感されるだろうな」というあるあるを教えてください
-
映画のエンドロール観る派?観ない派?
映画が終わった後、すぐに席を立って帰る方もちらほら見かけます。皆さんはエンドロールの最後まで観ていきますか?
-
海外旅行から帰ってきたら、まず何を食べる?
帰国して1番食べたくなるもの、食べたくなるだろうなと思うもの、皆さんはありますか?
-
天使と悪魔選手権
悪魔がこんなささやきをしていたら、天使のあなたはなんと言って止めますか?
-
EXCEL入力規則のリスト表示から空白行を表示させない方法
その他(Microsoft Office)
-
空白のないドロップダウンリストの作り方
Excel(エクセル)
-
エクセル、ドロップダウンリストで空白セルを非表示
Excel(エクセル)
-
-
4
エクセル2010 ドロップダウンリストに空白を表示したくない
Excel(エクセル)
-
5
空白セル内の数式を残したままで空白セル扱いとしたいのですが
Excel(エクセル)
-
6
エクセル 空白セルを詰めたい
その他(Microsoft Office)
-
7
数式による空白を無視して最終行を取得するマクロ
Excel(エクセル)
-
8
Excelでセル参照したとき、書式も一緒に持ってくるには?
Windows Vista・XP
-
9
A1セルに入力したら、入力時間をA2セルに自動挿入
Excel(エクセル)
-
10
IF関数で空欄(")の時、Nullにしたい
その他(Microsoft Office)
-
11
結合されたセルをプルダウンのリストにする方法は?
Excel(エクセル)
-
12
excelで、空白を除いてデータを抽出する方法について
Excel(エクセル)
-
13
エクセル、 名前の定義に関数を使用すると参照できない
Excel(エクセル)
-
14
Excelで数式の入っているセルを空白と認識させたい
Excel(エクセル)
-
15
エクセルVBAのIf,Then 構文でOr条件とAnd条件の結合方法?
Excel(エクセル)
-
16
Excel 入力規則_リスト 連続しないデータの空白行削除
Excel(エクセル)
-
17
エラー(型が一致しません。)の対処方法
Visual Basic(VBA)
-
18
クリップボードの内容を変数に取り込みたい(EXCEL VBA)
Visual Basic(VBA)
-
19
エクセルで、重複データを除外して小さい値順に並べ替える関数
Excel(エクセル)
-
20
エクセルのセル内の余白の設定って出来るのでしょうか?
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
同一セルに日時があるものを日...
-
Excelで連続データを行飛ばしで...
-
複数のシートの日付データを、...
-
エクセルでの指定文字 カウン...
-
色なしセルの合計値の出し方に...
-
エクセルで数字、文字列混在の...
-
エクセルVBA オートフィルの最...
-
EXCELで年月日の表記から日付部...
-
Excel 空白セルの掛け算で答え...
-
1つのセルにまとまっている情報...
-
EXCELで足し算できるのにSUM...
-
1年分のデータから特定の月分...
-
EXCELでCSVファイル保存すると...
-
EXCEL COUNTIFS関数でOR条件
-
Excel2007 飛びセル・条件付の...
-
エクセルで文字が白くなる
-
エクセルで長い行を5行ごとに1...
-
エクセルの主軸と第2軸の0を合...
-
エクセルで円グラフに引き出し...
-
エクセルで文字を含む式に、カ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
同一セルに日時があるものを日...
-
1年分のデータから特定の月分...
-
EXCELでCSVファイル保存すると...
-
Excelで指定した条件と一致する...
-
COUNTIFの反対の関数はあるので...
-
エクセルでセルを一括で右詰に...
-
エクセルで数字、文字列混在の...
-
EXCELで年月日の表記から日付部...
-
ドロップダウンリストで空白の...
-
エクセルVBAで、複数セルのデー...
-
OFFSET関数を使用した印刷範囲...
-
1つのセルにまとまっている情報...
-
複数のシートの日付データを、...
-
Excelで連続データを行飛ばしで...
-
エクセル数式・等間隔ごとの範...
-
webクエリのurlの変更方法
-
セルの着色を認識する関数って...
-
エクセル
-
セル内の改行された文字列を分割
-
EXCELで足し算できるのにSUM...
おすすめ情報