- ベストアンサー
エクセルMAXIFS関数で別ブック閉じると参照不可
- エクセルMAXIFS関数を使用して、別のブックからデータを抽出する際に、ブックを閉じると参照できなくなる問題が発生しています。
- 部品表.xlsxファイルを開くと、抽出した単価のセルに '#VALUE!' と表示されますが、参照先の入出庫帳.xlsxファイルを開いていると正常に表示されます。
- MAXIFS関数を使用して他のブックをリンクする場合、両方のブックを開いている必要があります。部品表.xlsxファイルのみを開いても単価を抽出・表示する方法はありますか?
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
Excel2019 でしょうか。 やってみた結果、開くの時に「更新する」を選択したら、#VALUEになりました。「更新しない」を選択すれば、エラーになりません。(数式をいじれば#VALUEになります) 旧バージョンと互換性がある数式なら「更新する」でもエラーになりません。 どのような数式かは解りませんが、 A列:部品 B列:単価 と仮定して =MAXIFS([入出庫帳.xlsx]Sheet1!$B:$B,[入出庫帳.xlsx]Sheet1!$A:$A,A2) ☟ =MAX(INDEX([入出庫帳.xlsx]Sheet1!$B$2:$B$99*([入出庫帳.xlsx]Sheet1!$A$2:$A$99=A2),)) 又は =MAX(IF([入出庫帳.xlsx]Sheet1!$A$2:$A$99=A2,[入出庫帳.xlsx]Sheet1!$B$2:$B$99)) (Ctrl+Shift +Enter で配列数式にします。数式に{}が付きます。) 下へコピペ。 配列数式なので、A:A の様に行全体を指定したら、レスポンスが悪くなります。
その他の回答 (1)
- imogasi
- ベストアンサー率27% (4737/17069)
当たり前。すべてのパソコンのソフトの大原則だと思う。 別ブックを開いて、(ローカルな)パソコンのメモリにエクセルの仕組みとして、展開してないと参照しようがないじゃないですか。開いていても画面に出さないことは出来るので、その際はまた別です。WEBやクラウドにいろんなものが存在する時代なのだが、突き詰めると、こうなるはず。 たまに、初心者らしい質問者が、「そのエクセル(のブック)を開かなくても、1部(1セル)の「データを使いたい」ということを言って、回答者が、Excel 4.0 マクロを使うとか言っているのを記憶にあるが、小生はこんなのはキワモノであると思うので十分勉強してない。 ーー https://excel-ubara.com/excelvba4/EXCEL_VBA_448.html 「Excel 4.0 マクロ」の使い方 のような記事がある。 ーー 主要な必要データは、Excelにではなくとも、データベースにでも保持し、それを必要な都度、読み出して使うほかないはず。前もってデータを備えて置けということ。エクセルごときでは、この必要性は少ないが、データベース的な考えでは当たり前。
お礼
回答頂きありがとうございます。 助かります。
お礼
回答頂きありがとうございます。 教えて頂いた、 =MAX(INDEX([入出庫帳.xlsx]Sheet1!$B$2:$B$99*([入出庫帳.xlsx]Sheet1!$A$2:$A$99=A2),)) この式を自分の表に当てはめて、できるようになりました。 助かります。