![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
まだまだエクセル、アクセス等勉強中の者でございます。
試行錯誤しましたが、急ぎということもあり、
アドバイスいただきたく依頼させていただきました。
下記に貼り付けました表が“別シート”にてA、B、C(新規)とあります。
Aメニュー、Bメニューの表は管理簿の位置づけとして用いておりまして、
この二つのシートデータをIDで紐付けて、Cの新規シートにてA、Bメニューごちゃまぜの表を作成したいと考えております。
VLOOKUP関数を用いて作成できたのですが、データが重く開くのにとても時間がかかり、
使わずにできる方法が必要となってしまいました。
また、部署内全員で共有していくため、可能であれば関数で解決して誰でも修正が可能に
できるような形で残していきたいのです。
IFERROR、INDEX、MATCHを使う形ではA、Bの二つの別シートから検索、参照することは
できないのでしょうか。
自分の勉強不足で助けを求めてしまい、お恥ずかしいかぎりではございますが、
急を要します為、どなたかご教示いただけますよう、何卒宜しくお願い致します。
※Aメニュー、Bメニュー、C(新規)は貼り付けた画像とは異なり、“別シート”になります※
![「【ご依頼】エクセル VLOOKUPを使わ」の質問画像](http://oshiete.xgoo.jp/_/bucket/oshietegoo/images/media/8/542694039_5a53127b09c14/M.png)
A 回答 (5件)
- 最新から表示
- 回答順に表示
No.5
- 回答日時:
[No.2お礼]へのコメント、
》 選択範囲にTableAや…各シートのセルをいじらずに可能でしょうか
どうしてそのような質問されるのでしょうか?私は「いじってくれ」と書いた覚えもありません。「Sheet A、B の範囲 C3:F12 に、それぞれ TableA、TableB という名前を付けて」のそれ以上でも以下でもありません。ひょっとして「名前を付けて」の意味が理解できないとか?それならそうと書くべきです。
》 データ量もセルの行で表すと…32752、…25931となります。
4万行でも100万行でも同じこと。データ量の制限についても何も触れなかったですよね。
》 試行錯誤いたします
そう、再質問する前に、先ずは試行すべきです。
ただし、試行法が分からなければその旨を簡潔に訊いてください。
それから、VLOOKUP関数は時間が掛かるなんてな勝手な思い込みはしない方がよろしいですよ。そういうことは回答者が考えます。
No.4
- 回答日時:
№1です。
ほかの方へのお礼に書かれているデータ量だとどんな関数を使用しても
ファイルは重たくなりますよ。
関数でマージする量じゃないですね。
ACCESSも勉強されているなら、ACCESS側でマージされる方が
いいと思います。
ACCESSの方が、この手の作業は向いています。
データがどのようになっているのか詳細は分かりかねますが、
ACCESS側で両シートに対してリンクを付けて
テーブル作成クエリと追加クエリを組み合わせて使えばよいのではないでしょうか。
本当は、全部ACCESS側で行って必要な情報をExcelとして吐き出すような
運用の方が無難ですが・・・。
もしかすると、受発注や売上に強く関連するならば、
ちゃんと会社としてシステム化すべき課題のようにも思えるデータ量ですが・・・。
No.3
- 回答日時:
他の方と重複しますが
>VLOOKUP関数を用いて作成できたのですが、データが重く開くのにとても時間がかかり
は、
1、ファイルが大きく開くのに時間がかかるのか
2、再計算に時間がかかっているのか
たぶん、1ではないでしょうか。関数を変えても解決しない様な気がします。
運用の問題になりますが、データの全てが必要でしょうか?
別のファイルで必要なデータだけ抽出する機能を付けて
抽出後に、情報が不足している部分を補うリンクなどの方が便利ではないでしょうか。
別のファイルから必要なデータのみ抽出する方法
もう一つのデータの抽出(Microsoft Query)
https://ameblo.jp/hokora2016/entry-12333452045.h …
この辺りが参考になりませんでしょうか。
No.2
- 回答日時:
Sheet A、B の範囲 C3:F12 に、それぞれ TableA、TableB という名前を付けておけば、Sheet C のセル D1 に次式を入力して、此れを右方および下方にズズーッとオートフィルするだけで、御の字になりますよ。
=IFERROR(IFERROR(VLOOKUP($C4,TableA,COLUMN(B1),FALSE),VLOOKUP($C4,TableB,COLUMN(B1))),"")
「VLOOKUP関数を用いて作成できたのですが、データが重く開くのにとても時間がかかり」とのことだけど、それはVLOOKUP関数の所為ではなくて、参照範囲を必要以上に広大なものにしたからであって、必要最小限の範囲を指定すれば問題ないかと。INDEX、MATCHと大差ないと考えます
![「【ご依頼】エクセル VLOOKUPを使わ」の回答画像2](http://oshiete.xgoo.jp/_/bucket/oshietegoo/images/media/b/298588_5a532c818e6a0/M.jpg)
このたびは質問にお答えいただきまして、ありがとうございます。
選択範囲にTableAやTableBと名前を付けるというのはAメニュー、Bメニュー各シートのセルをいじらずに可能でしょうか。
また、貼り付けましたシートに関しましては例としてあげたものでございますため、データ量もセルの行で表すとAメニュー:32752、Bメニュー:25931となります。
例としてということを文言で記載しておりませんでした。申し訳ありませんでした。
参考にさせていただきまして、試行錯誤いたします。
No.1
- 回答日時:
Vlookupの代用で用いられるのは「INDEX(検査範囲,MATCH(検査値,検査範囲,0)※行を確定させる、お好みの列番号 」という形式です。
much関数で、ヒットする行を確定さえて、今回の例だと右にずれたい分の列番号を指定します。
質問の内容からすると
①Aメニューのシートに合致するものがあるかをチェック
②あれば、上記の代用の関数を使って必要な値を持ってくる
③合致がなかった場合は、Aメニューのシートに合致するものがあるかをチェック
④あれば、上記の代用の関数を使って必要な値を持ってくる
⑤いずれもヒットしない場合はエラとする(もしくは代替文字を入れる)
こんな感じの事をされたいのかと思います。
想定通りだと、下記の様な関数になると思います。
IF(iserror(much関数でAシートを参照しているもの),IF(iserror(much関数でBシートを参照しているもの),"データがありません”,(上述の代替関数でBシートを参照しているもの),(上述の代替関数でBシートを参照しているもの)
※見た目重視なので、()の整合性まではとってません。
どのような使用意図や運用シーンがあるのか分からないので一概にはいえませんが、
1シートにしてデータの項目にABメニューを判別する情報を加えて方が運用上楽だと思います。
この手のリスト(マスター)のような情報はそもそも分散して管理するのではなく
一元管理しないとトラブルの温床になります。
個人的には、本来の質問内容からは外れますが、運用方法を変える方をおすすめします。
このたびは質問にお答えいただきまして、ありがとうございます。
お答えいただきました内容にて試してみたのですが、引数が多すぎるため...と表示され、うまくいきませんでした。
自身でもIFERROR,INDEX,MATCH関数を用いた形で試したところ、同じように引数が多すぎるため...と表示されました。
運用方法としましては、AメニューとBメニューの情報は分けることが必須なため、エクセル上で管理するうえでもシートを分ける必要があります。
VLOOKUPを使う以外だとやはり関数では限界なのでしょうか。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・「I love you」 をかっこよく翻訳してみてください
- ・歩いた自慢大会
- ・許せない心理テスト
- ・字面がカッコいい英単語
- ・昔のあなたへのアドバイス
- ・かっこよく答えてください!!
- ・あなたが好きな本屋さんを教えてください
- ・スタッフと宿泊客が全員斜め上を行くホテルのレビュー
- ・【大喜利】【投稿~8/27】 こんなガソリンスタンド二度と来るか!なぜそう思った?
- ・これ何て呼びますか Part2
- ・人生で一番思い出に残ってる靴
- ・【お題】動物のキャッチフレーズ
- ・【お題】甲子園での思い出の残し方
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・「それ、メッセージ花火でわざわざ伝えること?」
- ・自分用のお土産
- ・人生で一番お金がなかったとき
- ・一番好きなみそ汁の具材は?
- ・泣きながら食べたご飯の思い出
- ・ちょっと先の未来クイズ第1問
- ・ゴリラ向け動画サイト「ウホウホ動画」にありがちなこと
- ・初めて自分の家と他人の家が違う、と意識した時
- ・単二電池
- ・チョコミントアイス
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
excelの不要な行の削除ができな...
-
エクセルファイルのシート毎の容量
-
複数シートからデータを拾って...
-
Excelでシートの違うデータでグ...
-
シート削除して同名シート追加...
-
VBAで CTRL+HOMEの位置へ移動...
-
エクセル マクロ "特定の日付...
-
EXCEL グラフ作成 データの範...
-
エクセル 縦に長い表の印刷時...
-
Excelマクロ 差分抽出の方法が...
-
【ご依頼】エクセル VLOOKUPを...
-
エクセルマクロでデータ出力の...
-
エクセルで1つのシートを拠点...
-
エクセル VBA VLOOKUP
-
時間帯の重複を除いた集計について
-
他のシートの一番下の行データ...
-
エクセルで複数行のデータを1列...
-
Excelで日付変更ごとに、自動的...
-
ユーザーフォームで別シートを...
-
複数シートのデータを行列を入...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
複数シートからデータを拾って...
-
Excelでシートの違うデータでグ...
-
excelの不要な行の削除ができな...
-
エクセルファイルのシート毎の容量
-
シート削除して同名シート追加...
-
Excelで日付変更ごとに、自動的...
-
EXCELで2つのファイルから重複...
-
トランジスタの選び方
-
VBAで CTRL+HOMEの位置へ移動...
-
Excelマクロ 差分抽出の方法が...
-
EXCEL 複数行のデータを1行にま...
-
エクセル マクロ "特定の日付...
-
他のシートの一番下の行データ...
-
エクセルで名簿を50音で切り分ける
-
エクセル 縦に長い表の印刷時...
-
時間帯の重複を除いた集計について
-
ユーザーフォームで別シートを...
-
別々のシートの表をピボットテ...
-
【マクロ】同じフォルダ内にあ...
-
【エクセル」 特定のセルで条件...
おすすめ情報