[[20230921194629]] 『INDIRECT関数でリスト作成』(アマミヤ) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) |

| 全文検索 | 過去ログ ]

 

『INDIRECT関数でリスト作成』(アマミヤ)

INDIRECT関数を用いてプルダウンリストを作成しています。
既存のテーブルにない文言が入力された場合にのみ、
特定のテーブルをプルダウンリストとして表示させたいです。

【具体例】
・sheet1のA1にプルダウンリスト作成、元データに[=郵便物の種類]
・同シートのB1にもプルダウンリスト作成、元データに[=INDIRECT(A1)]

・sheet2のA1に「定型郵便」、B1に「定形外郵便」、C1に「ゆうメール」と入力し、
 A1〜C1を「郵便物の種類」として名前をつける。
・同シートのA2以下に「25g以下」、「50g以下」
・同シートのB2以下に「50g以下」、「100g以下」、「150g以下」、「250g以下」…
・同シートのC2以下に「150g以下」、「250g以下」…
・要は郵便物の種類ごとに重さを選べるようにしたいので、
 それぞれ選択範囲から名前を作成(上端行)しています。

・上記の方法なら、sheet1のA1のプルダウンリストで「定型郵便」を選ぶと、
 B1のプルダウンリストでは「25g以下」と「50g以下」のみが選べます。
・ここで、sheet1のA1に「課長への郵便物」や「例のあの書類」などと自由に手打ちした場合、
 B1のプルダウンは何も出てきません。
・質問としては、sheet1のA1に「例のあの書類」だのなんだの自由に入力した場合に、
 B1のプルダウンリストに「25g以下」、「50g以下」、「100g以下」……のような
 種類にとらわれない重さのリストを表示したいです。
・あらかじめ「25g以下」、「50g以下」、「100g以下」、「150g以下」、「250g以下」のリストを
 「重さ一覧」という名前で作成してあるとします。

INDIRECTの前にIFERROR入れればできるかな?と思ったのですがダメでした…
ご教授いただけますと幸いです。

< 使用 Excel:Excel2019、使用 OS:Windows10 >


 =IF(COUNTIF(Sheet2!$A$1:$C$1,A1),INDIRECT(A1),INDIRECT("重さ一覧"))

 これでできますか?
(笑) 2023/09/21(木) 21:17:35

 ↑ なんか動作が不安定です。
 できたりできなかったり・・・
(笑) 2023/09/21(木) 21:32:09

 一応できてるような気がする・・・

 =IF(COUNTIF(郵便物の種類,A1),INDIRECT(A1),INDIRECT("重さ一覧"))

 でも
(笑) 2023/09/21(木) 22:04:35

 >INDIRECTの前にIFERROR入れればできるかな?と思ったのですがダメでした…

 IFERRORを使うとすると、こんな感じ?
 =INDIRECT(IFERROR(HLOOKUP(A1,郵便物の種類,1,FALSE),"重さ一覧"))

 こんなのでもよさそう。
 =IF(OR(A1=郵便物の種類),INDIRECT(A1),重さ一覧)

(半平太) 2023/09/22(金) 10:09:38


遅くなりましたが……無事解決できました!助かりました…!
COUNTIFを使う方法を失念しがちだったのと、
INDIRECTの中に他の関数を突っ込んでも良いのも盲点でした。

大変勉強になりました!
笑さんと半平太さん、ありがとうございました!!
(アマミヤ) 2023/09/22(金) 20:19:43


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.