こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

Excel:データ入力規則の値に使用できる関数は?

エクセルの「データの入力規則」のリストを選んだ時に
元の値に使用できる関数は何なのでしょうか。

以下の式を元の値にセットしてみましたが、
エラー画面で該当するところが見つからないと出てしまいます。
まずシンタックスがおかしくないか見て頂けますか?

式)
=IF(OR(A1=値1,A1=値2),セットする値1,セットする値2)

●やりたい事
やりたいことはA1によって、リストの内容を変えたいんです。
例えば、A1に「八百屋」という文言が入っている場合は、
リストに「リンゴ、キュウリ、トマト」が表示されて、
A1に「本屋」という文言が入っている場合は、
リストに「雑誌、小説、解説書」が表示されるようなイメージです。

これを実現するにはどうすればよいでしょうか?
大がかりなものからスマートなものまでいろんな方法を教えてください。

ご教授よろしくお願いします。

投稿日時 - 2011-12-27 13:03:40

QNo.7211592

困ってます

質問者が選んだベストアンサー

では2通りほどのやり方を。



方法1)
数式で計算したいときは,数式は「セル範囲を返す式」にしなければいけません。
これは言い換えるなら,数式で計算したいときは「リストの元ネタをどこかのセルに必ず準備しておく必要がある」という意味です。

たとえば
基本形:
E1,E2,E3にリンゴ,キュウリ,トマトを記入しておき,入力規則のリストの数式で
=IF(条件が成立したら,$E$1:$E$3,"")
のようにすることで,「セル範囲が計算」され入力規則の元ネタになります。

INDEX関数,INDIRECT関数,OFFSET関数などを併用してセル範囲を可変で計算するなどして応用します。


方法2)
別の手としては,名前の定義を併用してセル範囲を計算させます。
たとえばシート2のA1:A3にリンゴ,ミカン,バナナを記入しておき,このA1:A3に「八百屋」という名前を定義します
B1:B4に雑誌,小説,漫画,ムックを記入し,このB1:B4に「書店」という名前を定義します

#名前の定義:
 範囲を選択し,名前ボックス(数式バーの左端の通常A1などと表示が出ている箱の中)に名前を記入してEnterする
 ご利用のエクセルのバージョンに応じて,挿入メニュー(数式タブ)で名前を定義する

シート1のA1セルに「八百屋」や「書店」を記入するなら
入力規則の下の値の数式は
=INDIRECT($A$1)
と設定します。

もちろん,ナニか計算の条件を付けて
=IF($A$1="野菜",八百屋,書店)
という式にしてもできます。

#注意
この数式の後半の八百屋と書店は""で囲まないので間違えないこと

投稿日時 - 2011-12-27 13:44:09

お礼

ありがとうございます!
最後の#注意がまさにぴったり当てはまってました。
シンタックスの間違いでした。
私の作った式は条件式のコーテーションがなかったんです。

本当にありがとうございます。

投稿日時 - 2011-12-27 15:16:53

ANo.1

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)