- ベストアンサー
Excelにて変数を含むINDIRECT関数の使い方
現在、ExcelにてINDIRECT関数を使い他のセルを表示させようとしているのですが、うまくいきません。 シートが13枚あり、それぞれ”1月”、”2月”、・・・、”12月”と”メイン” シート”メイン”のB12に1が入っています。この1はドロップダウンリストで1~100を選択できるようにしています。 同様にA1に1月~12月のデータのドロップダウンリストがあります。 =INDIRECT("1月!J"&$B$12+4) この場合望んでいる値(”1月”のシートのJ5の値)を取ってきてくれるのですが、 この値をA1のリストで選んだ月に合わせて変化させたいと考えています。 =INDIRECT("A1!J"&$B$12+4) としても#REF!と出ていまい、うまくいきません。 どうしたらセルの番地はこのままで、望んだ月のシートの値を持ってこれるのでしょうか? INDIRECT関数の""マークの使い方についても理解ができないので、参考になるものはないでしょうか?ヘルプを読んでも分からないのでよろしくお願いします。
- freebird11
- お礼率10% (9/85)
- オフィス系ソフト
- 回答数2
- ありがとう数0
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
> =INDIRECT("A1!J"&$B$12+4) という数式の結果は、B12に3が入っているとしたら、 「A1!J7」 となってしまいます。 これは、「"A1!J"」と本来その内容を参照させたいセル番地「A1」まで「"」で括ってしまっているからです。 #1さん言われるように、 =INDIRECT(A1&"!J"&$B$12+4) とすべきです。
その他の回答 (1)
- hamaken5031
- ベストアンサー率22% (15/68)
""で囲んでしまうと「その文字列」と認識されてしまいます。この例でいうと「A1というシートがあるはずだ」と認識され「そんなものはない」からエラーとなってしまうのです。 =INDIRECT(A1&"!J"&$B$12+4) のように参照セル表記部分は""から外に出してあげるとちゃんと参照します。
関連するQ&A
- excel index関数?changeイベント??
作者不明のため、教えていただきたいのですがお願いします。 シートが4つほどあり、index関数でデータを5つめのシートで集計しています。 集計シート例: A B C D E F G H ・・・ 1 【ここにドロップダウンのボックス?があります▼】 2 あ い う え ・・・ 3●● 1 1 2 2 ・・・ 4△△ 2 2 3 2 ・・・ 5□□ 1 1 1 1 ・・・ ・ ・ ●●シート例: A B C D E F G H ・・・ 1 あ い う え ・・・ 2AA 1 1 1 1 ・・・ 3BB 0 1 1 1 ・・・ 4CC 1 2 2 2 ・・・ あいうえ項目が各シートにあり、集計シートでドロップダウンリスト(リストの下のセルB1には数字の割り当てがあります)からAAを選ぶと各シートからデータを引っ張ってきて(index関数がB1の数字を読み取ります)、各シートのデータが集計されます。 BBやCCと選んでも簡単に集計してくれるので重宝していたのですが、 これを応用しようと新規ブックで似たものを作り、 index関数(例:=IF((INDEX(●●!$B$2:$H$10,$B$1,1))="","*",INDEX(●●!$B$2:$H$10,$B$1,1))) ※列番号も右セル(あ→い→う・・・)にいくごとに増えていきます。 もコピーしましたが「#REF!」となって集計してくれません。 元のブックを開いてドロップリストを右クリック→マクロの登録をみるとマクロ「ドロップ1_change」という登録が見えますが、マクロを調べても表示は Sub ドロップ1_Change() End Sub しかでてきません。 なにも入っていないのになぜ動くのでしょうか? また他のブックではなぜ「#REF!」となるのでしょうか。 質問もどうしていいかわからないためわかりにくいかと思いますが、教えてください。この説明で不足している場合はご連絡下さい<(_ _;)>
- 締切済み
- オフィス系ソフト
- エクセル 結合セルでも関数は使える?
セルA1,B1,C1を1つに結合したセルにデータの入力規則を設定しドロップダウンリストから任意の項目を選択できるようにしました。このあと、ドロップダウンリストから例えばAという項目を選択したら、aという文字が隣のセルに表示されるようにしたいのですがどういう関数を使用すればよいですか?又この隣のセルというのもD1,E1,F1までのセルを結合していますが、関数は使えるのでしょうか?
- ベストアンサー
- オフィス系ソフト
- エクセル関数について
エクセルの関数についてなのですが、例えば「セルA3」に「セルB2」の値を表示させるには「=(B2)」と「セルA3」に表示させてます。別のSheetの値も表示できるのでしょうか?例えば「Sheet1.Range("A3")」の値をSheet2のA1に表示させたい場合Sheet2のA1にはどのような関数を入力していけばよいのでしょうか?VBAは使わずに表示したいのですが。関数はまだほとんど使ったことがないので分かる人いたら教えてください。よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- Excelの関数を教えてください。
Excelの関数で例えば シートAのB行の中の値とシートBのセルA1の値、シートAのC行の中の値とシートBのセルB1の値が一致した行のF列の値を返す関数を考えているのですが、いろいろ試してもエラーになってしまいます。(B列とC列の一致する行は1つしかありません) これができないと家に帰れません;; どなたか、教えてください! よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- エクセルのドロップダウンリスト
エクセルのドロップダウンリストについて、困っていることがあります。 たとえば、 ・Aシート A列|B列|C列 1|ペン|200 2|鉛筆|100 3|本|200 ・Bシート A列|B列 ペン(ドロップダウンリスト)|200 という風に、Bシートのドロップダウンリストを選択すると、動的に200と隣のセル(B列)に表示するようにするにはどのようにすればいいでしょうか? よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- 連動したドロップダウンリストを INDIRECT関数を利用して作成したのですが・・・
お世話になります。EXCEL2003での質問です。 県選択→結果を受けて市町村選択 というドロップダウンリストを下記の要領で作成しました。 名前の定義 : 名前;都道府県 参照範囲;シート名!$A$2:$A$7 名前の定義 : 名前;○○県 参照範囲;シート名!$B$2:$Z$2 各県の名前を同様に定義する。 一つ目のドロップダウンリスト(別シートのA1) 入力規則 : 入力値の種類;リスト 元の値;=都道府県 二つ目のドロップダウンリスト(別シートのB1) 入力規則 : 入力値の種類;リスト 元の値;=INDIRECT($A$1) 上記で問題なく連動したドロップダウンリストを作成できました。が、市町村合併に対応させたくて参照範囲を可変に・・・と思い、名前の定義の参照範囲のところを次のように変更しました。 名前の定義 : 名前;○○県 参照範囲;=OFFSET(シート名!$B$2,0,0,1,COUNTA($2:$2)-1) すると二つ目のドロップダウンにリストが出てきません。 B1の入力規則に戻って元の値が=INDIRECT($A$1)になっているのを確認してOKをクリックしたところ"元の値がエラーと判断されます"と警告が出ました。 そこでINDIRECT関数を噛ませずに直接、元の値を=○○県 にしたところ正常にドロップダウンにリストが表示されました。 これは、名前の定義の参照範囲に関数を使用したときにはINDIRECT関数が使用できない、ということなのでしょうか。どなたか、お詳しい方、教えていただけませんでしょうか。よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- Excelの関数またはマクロを教えて下さい。
Exsel2000の関数で、現在以下の関数まで出来たのですが、これを応用して検索値「A1」を2つのセル「A1&B1」にしたいのですが、どうすればよいのでしょうか?どなたか方法を教えて下さい。 =VLOOKUP(A1,Sheet1!$A$1:$E$2000,4) 上記の関数から判るように、これは 例えばSheet2のC1のセルにこの式を入れる場合、A1と同じ内容の値を、Sheet1のA列から検索して、そして同じ行のSheet1のD列の値をSheet2のC1のセルに返すという関数です。 これを応用して、「A1と同じ内容…のA1を、A1&B1の2つが一致するセルを検索して、同じ列のSheet1のD列の値をSheet2のC1のセルに返すという関数にしたいのです。 どなたかおわかりになる方がおりました宜しくお願いいたします。 また、マクロを使う方法でも良いのですが、当方マクロは詳しくないので出来るだけ判りやすくお願いいたします。
- ベストアンサー
- 会計ソフト
- エクセル2007 OFFSET関数 INDIRECT関数
エクセル2007でOFFSET関数とINDIRECT関数を用いてセルの入力規則をして、リスト表示したいと思っています。 入力規則のリストは動的な値を設定したいと思っています。 ABCDE 1あいうえお 2かきくけこ 3さしすせそ 4たちつてと 5なにぬねの というシートA列に”データベース1”B列に”データベース2”・・・といった具合に名前を定義します。このデータベースは行がどんどん増えていく可能性があるため、名前の定義の参照範囲欄に (1)=OFFSET($A$1,0,0,COUNTA(A:A),1) としました。 別シートに 表示したいセルで入力規則→設定タブ→入力値の種類→リストを選択。 元の値の欄に (2)=INDIRECT(A2&"1",FALSE) としました。 ※A2は”データベース”と入力してあるセルです。 ここからがわからないのですが 上記式(1)、(2)の両方とも単独で使用した場合は欲しい値が得られるのですが、組み合わせて使用した場合はリストが出てこなくなってしまいます。 1)組み合わせて使うことはできないのですか 2)ほかにいい方法はありますか ということを質問します。 よろしくお願いします。
- 締切済み
- オフィス系ソフト
- エクセルの関数について。
エクセルの関数について。 Excel2007を使用しております。 次のことが関数で出来るかどうか教えていただきたいのですが、 現在、Sheet1内にてD4:D500まで縦の範囲にてA~Jまでの入力規制セットした半角英字が途中までランダムに入力されておりまた新たに入力予定です。 上記範囲で半角英字を入力された時点でセルJ3がその入力された英字と同じ値になることをしたいと思っております。例えばD100にBと入力したらセルJ3の値もそれと同値に、その後D350にFと入力したらその時点でJ3もF値に、またその後D75にA入力したらセルJ3もA値にといった入力を順不同ランダムに行うことによってセルJ3もランダムに値変更出来る仕組みにしたいと思っております。 結果としてセルJ3の値はD4:D500範囲にて最後(最新)に入力された値と同じ値が入っている状態になっていればMUSTなのですが、これを関数で実現するにはどうやったらよろしいでしょうか? また関数で不可であれば他に方法があればどうかお教え頂けると幸いでございます。 どうぞよろしくお願い申し上げます。
- ベストアンサー
- オフィス系ソフト
- エクセルの関数の質問です。
エクセルの関数の質問です。 セルに値がある空間をおいて存在します。 例 Aの1番地からIの一番地までは □□1■■■1□□ で Aの2番地からIの2番地までは □1■■■■■1□ という状態です。 この■の部分に1を返したいのですが、何かいい関数って ありますか?
- 締切済み
- 財務・会計・経理