- ベストアンサー
Excel 2003 ワークシートを検索するには?
初歩的な質問かな?と思いますが、よろしくお願いします。 シート見出しに勘定科目名を付けたワークシートが複数枚あり、 他に全勘定科目が一覧で見れるシートがあります。 1つ1つリンク貼り付けするのが面倒なので、標準の関数で処理できないか 考えてみましたが、分かりませんでした。 ユーザー定義関数だと、こんな↓感じ(まだ中途半端です)なのですが Public Function Kingaku(Kamoku As String) Kingaku = Sheets(Kamoku).Cells(5, 1).Value End Function これを Excel に標準で組み込まれた関数で処理するためには どのように記述すれば良いですか? ※ユーザー定義関数を使いたくない理由は、マクロをメンテナンス出来る 人が関係者の中にいないからです。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
財務会計の処理で調書見たいなものが科目別のシートに入っている。 それらのシートにはその科目の決算額がCells(5, 1)に入っている。 これらの集約した表(決算書みたいなもの)を作ろうとしている。 と解釈しました あなたの書いたユーザー定義関数そのままをExcel組み込みの関数で表現すると RC[-1} 関数の行の左の列に科目名(コード?)が入っているとすると =INDIRECT(RC[-1]&"!"&"R5C1",FALSE) こういうことでいいでしょうか
その他の回答 (2)
- cistronezk
- ベストアンサー率38% (120/309)
>1つ1つリンク貼り付けするのが面倒なので、標準の関数で処理できないか 考えてみましたが、分かりませんでした 勘定科目一覧のシートと他のシートのセルの関係を示さなければ、回答はできません。もしその関係に規則性がなければ、ユーザー定義関数もつくれません。
お礼
分かりにくい質問で申し訳ありません。 以降、気をつけます。
- hige_082
- ベストアンサー率50% (379/747)
>Public Function Kingaku(Kamoku As String) >Kingaku = Sheets(Kamoku).Cells(5, 1).Value >End Function これを関数でやるなら セルA1にシート名を入力 =INDIRECT(A1&"!a5") これでよいかな?
お礼
ご回答ありがとうございます。 INDIRECT 関数って便利ですね。 お陰様で、ISERROR 関数と IF 関数を追加して期待通りの数式が出来ました。
お礼
ご回答ありがとうございます。 お陰様で、期待通りの数式が出来ました。 RC 参照って行・列の指定がしやすそうですね。