• ベストアンサー
  • 暇なときにでも

excel ファイル名の指定方法

vlookupを使用して、数多くのフォルダ内のセル参照をしようとしています。 その中で、 =IF(ISERROR(VLOOKUP(B$2,'C:\Documents and Settings\user\デスクトップ\構成\[2093.xls]Sheet1'!$A$4:$F$28,6,FALSE)),"-","○") という式を使用しています。 この2093に相当するファイルが構成のフォルダに2094,2095,2096の様に4桁で多数存在しています。 またA列には、ファイル名に相当する値がセットされています。 A3セル;2093 A4セル:2094 A5セル;2095 … の通りです 上記の式がB3に入っているとして、2094に相当する行のB4は、 =IF(ISERROR(VLOOKUP(B$2,'C:\Documents and Settings\user\デスクトップ\構成\[2094.xls]Sheet1'!$A$4:$F$28,6,FALSE)),"-","○") の様に設定したいのです。 1つ1つ手動での修正でなく、コピーペーストみたいな感じで、 いっきに対応可能な方法はありませんでしょうか?

共感・応援の気持ちを伝えよう!

  • 回答数1
  • 閲覧数203
  • ありがとう数1

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

  • ベストアンサー
  • 回答No.1
  • kybo
  • ベストアンサー率53% (349/647)

B3のセルには以下の様に入れ、下へオートフィルしておきます。 ="=IF(ISERROR(VLOOKUP(B$2,'C:\Documents and Settings\user\デスクトップ\構成\["&A3&".xls]Sheet1'!$A$4:$F$28,6,FALSE)),""-"",""○"")" B3からB列の最終行まで範囲選択し、コピー→形式を選択して貼り付け→値でOK B3からB列の最終行まで範囲選択し、編集→置換(Excel2007以降の場合は、ホーム→検索と選択→置換)→検索する文字列と、置換後の文字列の欄両方に「=」と入れ、オプションで、セルの内容が完全に同一・・のチェックが外れている事を確認し、すべて置換

共感・感謝の気持ちを伝えよう!

質問者からのお礼

回答ありがとうございました。ばっちり対応できとても助かりました。 ------------------------------------------------------ 検索する文字列と、置換後の文字列の欄両方に「=」と入れ、オプションで、セルの内容が完全に同一・・のチェックが外れている事を確認し、すべて置換 ------------------------------------------------------ の部分は、何を実施しているのか教えていただけないでしょうか。

関連するQ&A

  • Excel 相対パス

    Excelでvlookup関数を使っていますが 参照範囲が別ファイルです。 参照先が絶対パスになってしまいますが これでは他人にこのファイルを提供した場合つかえません。 そこで相対パスにしたいのですができません。 どうしたら良いのでしょうか? =VLOOKUP(C2,'C:\Documents and Settings\user1\管理\[20130000.xls]Sheet1'!$D$6:$E$634,2,FALSE) これを =VLOOKUP(C2,'./[20130000.xls]Sheet1'!$D$6:$E$634,2,FALSE) にしたい。

  • 入力された名前やIDを変数に代入させて簡単に入力

    例えば セルB2に織田信長、セルB3に1022 セルB5に ='C:\Documents and Settings\Owner\デスクトップ\[1022織田信長.xls]Sheet1'!$C$5 セルB6に ='C:\Documents and Settings\Owner\デスクトップ\[1022織田信長.xls]Sheet1'!$C$6 セルB8に ='C:\Documents and Settings\Owner\デスクトップ\[1022織田信長.xls]Sheet1'!$C$8 というような式が入っているんですが、新たに番号1023の徳川家康さんを登録した時に 最下行でもいいんですが、セルC2に徳川家康、セルC3に1023が入力され セルC5に ='C:\Documents and Settings\Owner\デスクトップ\[1023徳川家康.xls]Sheet1'!$C$5 セルC6に ='C:\Documents and Settings\Owner\デスクトップ\[1023徳川家康.xls]Sheet1'!$C$6 セルC8に ='C:\Documents and Settings\Owner\デスクトップ\[1023徳川家康.xls]Sheet1'!$C$8 というような形で簡単に書き換えてくれるようなVBAの式はつくれますか?とにかく新しく新入生が入ったときに簡単に入力が出来るようにしたいです。 いい方法がありましたらお教え下さい。よろしくお願い致します。

  • 関数の中のシート名【複数】を置換を使って置換るには

    タイトルの件、質問します。 下記1の関数があります。 この中にあるシート名を下記2のとおり、置換を使って 書き換えたいと考えています。 実践しましたが、うまくできませんでした。 方法は、手入力以外であれば、置換機能ではなくてもOKです。 ご存知の方、いらっしゃいましたら、宜しくお願いします。 【下記2】 Sheet1 を 1000 に書き変えたい Sheet2 を 2000 に書き変えたい Sheet3 を 3000 に書き変えたい ※1000、2000、3000とは、シートの名前です。 【下記1】 =IF(ISERROR(VLOOKUP(SUBSTITUTE(B$1,"-",""),[名簿ブックa.xls]Sheet1!A:C,2,FALSE)),"",VLOOKUP(SUBSTITUTE(B$1,"-",""),[名簿ブックa.xls]Sheet1!A:C,2,FALSE)) &IF(ISERROR(VLOOKUP(SUBSTITUTE(B$1,"-",""),[名簿ブックa.xls]Sheet2!A:C,2,FALSE)),"",VLOOKUP(SUBSTITUTE(B$1,"-",""),[名簿ブックa.xls]Sheet2!A:C,2,FALSE)) &IF(ISERROR(VLOOKUP(SUBSTITUTE(B$1,"-",""),[名簿ブックa.xls]Sheet3!A:C,2,FALSE)),"",VLOOKUP(SUBSTITUTE(B$1,"-",""),[名簿ブックa.xls]Sheet3!A:C,2,FALSE)) ※本関数は、教えてgoo回答者様に、ご教授いただきました。

  • エクセルのVLOOKUP関数について

     エクセルで、VLOOKUPを使っています。  A3に 1 と入力すると、Aの5行目11行目までから、別のシートに入力してある A1~G1の項目の情報が1列にババッと入力されています。    そのVLOOKUP関数を使おうと思うのですが、この関数は数年前に入力したもので、式の作り方がわからなくなってしまいました。 前使った式は =VLOOKUP(F2,'C:\Documents and settings\office\デスクトップ\新しいフォルダ (2)\[ガイドブック.xls]Sheet1'!1:65536,11,0) です。 この式の意味が、今見てもさっぱりわかりません。 この式がどういう命令になっていたのか・・・・(特にSheet1からわからない)、 もし出来たら教えていただけるとありがたいです。 間違っている箇所があったらそれも教えてくださるとありがたいです。

  • リンクのVBAを教えてください。

    いつも、御指導ありがとうございます。 売掛金元帳のセル(J3)に数式1で、[得意先登録.xls]得意先登録から社名を表示させています。 ●数式1  '=IF($C$2="","",IF(ISERROR(VLOOKUP($C$2,'C:\Documents and Settings\aaa\My Documents\販売管理 \登録 (台帳)\[得意先登録.xls]得意先登録'!$D$7:$E$65536,2,FALSE)),"未登録です", VLOOKUP($C$2,'C:\Documents and Settings\aaa\My Documents\販売管理 \登録 (台帳)\[得意先登録.xls]得意先登録'!$D$7:$E$65536,2,FALSE))) 売掛金元帳のセル(E2)に数式2で、[自社情報登録.xls]自社情報'!$C$3から自社名を表示させています。 ●数式2  '='C:\Documents and Settings\aaa\My Documents\販売管理\登録 (台帳)\[自社情報登録.xls]自社情報'!$C$3 ●数式1及び数式2をVBAで記述したいのですがど、うしても記述出来ません。 ●まるなげになってしまいますが、数式1及び数式2と、社名変更があった場合は売掛金元帳へ反映させるVBAを教えてください。 宜しく御願いいたします。

  • マクロFormulaで入力する式に変数を使うと定義のエラーと出る

    価格表を元に、型番から価格を検索するマクロを作りたいのですが、 i = kakakuretu - katabanretu Selection.FormulaR1C1 = "=IF(ISNA(VLOOKUP(RC[i],'C:\Documents and Settings\@\My Documents\東京購入分\[東京購入分.xls]sheet1'!C2:C5,4,FALSE)),"""",VLOOKUP(RC[i],'C:\Documents and Settings\@\My Documents\東京購入分\[東京購入分.xls]sheet1'!C2:C5,4,FALSE))" とすると、iが定義エラーになってしまいます。 初心者でネットを見ながら記録マクロをいじるくらいしか出来ないので 定義などよくわかりません。教えて下さい。

  • セルの内容を別のシートのセルに呼び出す。

    Sheet1のあるセルを「セルの書式設定」の表示形式の「ユーザー定義」で [=1]"○";[=2]"◎";"有"  と設定し、  1や2や3で「○」 「◎」 「有」 を呼び出すように定義し、 1を入力すると○、2を入力すると◎・・・ が問題なく返って来ているのを確認した上で、 =IF(ISERROR(VLOOKUP(A2,Sheet1!$A$4:$C$33,3,FALSE)),"",IF(VLOOKUP(A2,Sheet1!$A$4:$C$33,3,FALSE)=0,"",VLOOKUP(A2,Sheet1!$A$4:$C$33,3,FALSE))) 以上のような式を入れて、そのセルの内容をSheet2のセルに呼び出したところ、 帰って来た値が「○」 「◎」 「有」ではなく、入力した1,2、3しか返って来ません。 解決方法があれば、どなたかご教授願えないでしょうか。 よろしく、お願い致します。

  • エクセルVlookup~&””の結果が数値にならず

    =IF(ISERROR(VLOOKUP(検索値,sheet1!$A$2:$C $100,1,FALSE)),"",VLOOKUP(検索値,sheet1!$A$2:$C $100,1,FALSE)&"") このような式です。 返された数字はなぜか左寄せになっています。 書式設定を見ると通貨になっており、カンマ入り数値にしても 右寄せになるだけでカンマが入りません。 どうしたらカンマ入り数値になるでしょうか。

  • 統合マクロでパスの取得方法

    お世話になります。 集計ファイルでエリア・商品で集計をとっています。 一つのファイルにまとめたいのでエリアをシート名による串刺し 商品を統合を使って集計していますが 毎回統合ボタンを押すのが大変で マクロを使い下記のコードを使っていますがファイルのパスで固定されているので 人に渡すとファイル名の変更、ユーザーの違いによりエラーになってしまいます。 現在開いているファイルの名前とパスをマクロに取り込み統合させる事は可能でしょうか Sub Macro1() ' ' Macro1 Macro ' マクロ記録日 : 2009/9/29 ユーザー名 : user ' ' Sheets("一般A").Select Range("b6").Select Selection.Consolidate Sources:=Array( _ "'C:\Documents and Settings\user\デスクトップ\[8期資料.xls]〇〇一般A'!R6C2:R64C9", _ "'C:\Documents and Settings\user\デスクトップ\[8期資料.xls]□□一般A'!R6C2:R64C9", _ "'C:\Documents and Settings\user\デスクトップ\[8期資料.xls]△△一般A'!R6C2:R64C9", _ "'C:\Documents and Settings\user\デスクトップ\[8期資料.xls]××一般A'!R6C2:R64C9", _ "'C:\Documents and Settings\user\デスクトップ\[8期資料.xls]●●一般A'!R6C2:R64C9", _ "'C:\Documents and Settings\user\デスクトップ\[8期資料.xls]■■一般A'!R6C2:R64C9", _ "'C:\Documents and Settings\user\デスクトップ\[8期資料.xls]▲▲一般A'!R6C2:R64C9", _ "'C:\Documents and Settings\user\デスクトップ\[8期資料.xls]++一般A'!R6C2:R64C9", _ "'C:\Documents and Settings\user\デスクトップ\[8期資料.xls]※※一般A'!R6C2:R64C9", _ "'C:\Documents and Settings\user\デスクトップ\[8期資料.xls]%%一般A'!R6C2:R64C9"), _ Function:=xlSum, TopRow:=False, LeftColumn:=False, CreateLinks:=False Sheets("一般B").Select Range("b6").Select Selection.Consolidate Sources:=Array( _ "'C:\Documents and Settings\user\デスクトップ\[8期資料.xls]〇〇一般B'!R6C2:R64C9", _ "'C:\Documents and Settings\user\デスクトップ\[8期資料.xls]□□一般B'!R6C2:R64C9", _ "'C:\Documents and Settings\user\デスクトップ\[8期資料.xls]△△一般B'!R6C2:R64C9", _ ・ ・ ・ ・ End Sub DIMとかActiveWorkbook.Pathとか組み込みましたが うまく行かないです。 どうぞ助けてください。

  • エクセルのセル右下のダブルクリック

    sheet1のD1に、 「IF(ISERROR(VLOOKUP($B1,sheet2!$A:$F,6,FALSE)),"",VLOOKUP($B1,sheet2!$A:$F,6,FALSE))」 という式を入れています。 D列全てのセルにこの式を入れたかったので、D1のセル右下部分をドラッグしてペーストしましたが 行を挿入するとその行のD列には式が入っていませんよね。 これを解消する為にD1のセル右下をダブルクリックしてみるのですが、D2以降のセルにはペーストされません。 なぜですか? 行を挿入する個所が複数の為、いちいちその行のD列に式をペーストしなくても良い方法はありませんでしょうか。 この機能(セルの右下ダブルクリック)を使わないにしても、D列全てを範囲指定して式を入れるには、この式のどこを修正すればよろしいでしょうか? よろしくお願いします。