• ベストアンサー

【Excel】見たことのない数式が入っている

{=Excel.Sheet.8|'\\PC名\ファイル名.xls'!'!シート名!R11C8:R11C47'}というセルが列に同じものが入っていて、どうやら他のファイルから引用しているようなのですが、これをセルの位置などは全く同じな違うファイルからの数値をひっぱって来たいと思っています。\\PC名\ファイル名.xls'!'!シート名を変えてもだめでした。 しつもんはこの式をどう変えればいいのかと、 {}が、なんなのか({}は、セルを触るとなぜか消えます)、 そして、=Excel.Sheet.8|が何を表しているのか。とくに”|”。 {}は、セルを触るとなぜ消えるのか。 です。 色々検索してみたのですがうまく検索できずに困っています。 ちなみにエクセル2010です。 よろしくお願いします。

  • yesQP
  • お礼率84% (149/177)

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

  • ベストアンサー
  • maron--5
  • ベストアンサー率36% (321/877)
回答No.1

◆「配列数式」ですね、式は入力後、CtrlとShiftを押しながらEnterを押して式を確定させてください ◆式が確定すれば、式の両端に、{ }がつきます ◆「配列数式」について、わかりやすく説明されています 「“達人”芳坂和行氏に学ぶ、エクセル(Excel)「配列数式」講座」 http://pc.nikkeibp.co.jp/pc21/special/hr/

その他の回答 (2)

  • bunjii
  • ベストアンサー率43% (3589/8248)
回答No.3

>{=Excel.Sheet.8|'\\PC名\ファイル名.xls'!'!シート名!R11C8:R11C47'} 標準状態のExcelでは扱えない記述のようです。 >{}が、なんなのか 複数の値を列記するときに{123,456,789}のように参照するようです。 >よろしくお願いします。 知りたいことが明確ではありませんので分かる範囲でアドバイスさせていただきます。 \\PC名\ はネットワーク上に共有ファイルを提供しているPC名のようです。表示は標準的ではありません。 ファイル名.xls は参照するファイル名と思われます。通常は[ファイル名.xls]と表示するようです。 シート名! は参照先のSheet名のようです。通常の表示に適合します。 R11C8:R11C47 はH1:AU11に相当する別の表示方法です。RはRow(行)、CはColumn(列)です。 R11C8のような表記はExcelのオプション設定で「数式の処理」の「R1C1参照形式を使用する」にチェックを入れた時に有効となります。 以上のように他のソフト(Lotus 123等)と互換性を持たせるために書かれたものと思われます。 参照対象のファイルと併せて点検されると良いでしょう。 作成者と連絡が取れれば作成した時の考え方を聞いてください。

  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.2

ご質問の数式は、リンク先の他ブックのH8:AU47という範囲をエクセル形式で「リンク貼り付け」しているときに作成される数式です(同じバージョンのエクセル間の場合は、他のアプリケーションとして2つ立ち上げた場合に作成される) 数式はH8:AU47という範囲を指定しますので配列数式として入力されています。 配列数式(両辺が大かっこで括られる)は編集すると通常の数式になってしまいますので、編集したいときは、数式範囲を全部選択して、CtrlキーとShiftキーを押しながらEnterします(これで配列数式になります)。 ちなみに変更したい数式の参照範囲がデータ範囲を同じ大きさでない場合は、セル範囲を変更した「R11C8:R11C47」の部分と同じ大きさで選択して配列数式にする必要があります。

関連するQ&A

  • Exccl2002 リンク貼り付けの数式を変更したい

    Exccl2002 リンク貼り付けの数式を変更したい Exccl2002を使っているのですが、リンク貼り付けしているセルの式を 関数を使い一括置換したいのですが出来ません。 たとえば、E10 + 1 → E11 ということです。 順不動で各シートのデータ位置も違います。 どうすれば良いのでしょうか。 ファイル名 001.xls  sheet名 001 002 003 以上 3シート より         004の1つのシートにリンク貼り付けでまとめてます。 セル位置 3シートともE列   変更前の式     シート名 004 変更後 [001.xls]001!E2 →  [001.xls]001!E3 [001.xls]002!E3 →  [001.xls]002!E4 [001.xls]003!E2 →  [001.xls]003!E3 [001.xls]001!E10 → [001.xls]001!E11 [001.xls]002!E10 → [001.xls]002!E11 [001.xls]003!E10 → [001.xls]003!E11 [001.xls]001!E15 → [001.xls]001!E16 [001.xls]002!E26 → [001.xls]002!E27 [001.xls]003!E29 → [001.xls]003!E30 その他 300個位あります。

  • excel2003 VBAマクロの作成

    すいません、下記のような条件を満たすマクロのサンプルコードをお願いします。 ■前提条件 ・「検索元データ」はマクロ.xlsの中にある ・「検索先ファイル」は管理ファイル.xlsである ・マクロ.xlsファイルのA列にはデータがn個ある(セル範囲A2:A(n+1)まで) ・C:\one\two\three\管理ファイル.xls のフォルダ位置である(絶対パスで指定する) ・管理ファイルの中にはSheet1,Sheet2,Sheet3・・・・Sheet10の10コのシートがある ■マクロでしたいこと (1)A列のデータが管理ファイル(ブック内)に記載されているかチェックする (2)A列のデータをチェックしたら、下記の通りに列にチェック情報を記載する B列 データがいくつあったか(管理ファイルに記載されていない場合は0と表示) C列 データが記載されているシート名(B列が0の場合は0と表示) (3)次のデータへ (4) (1)-(3)をA列のデータがなくなるまで繰り返す (5)データがなくなったら終了(保存せず閉じない) 以上です。 よろしくお願いします。

  • Excelについて:セルでデータを引っ張るファイル名を一律選択する方法

    教えてください。 Excelで他ファイルからデータを引用する場合、 =[file1.XLS]Sheet1!$B$1 の様に、 []内にファイル名(ここでは"flie1.xls")を入れればそのセルの内容が表示されると思うのですが、 そのファイル名をセルで指定することはできるでしょうか? 具体的にやりたい事は、 同一シート内のセルA1の値が"1234"であった時に、1234.xlsの中のSheet1!$B$1を探して表示する。 "1234"を"2345"に変更すれば、"2345".xlsの中のSheet1!$B$1を表示する。 ということが行いたいのです。 =[$A1$&".XLS"]Sheet1!$B$1 ではだめでした。 可能でしたら教えてください。 よろしくお願いします。

  • 【excel vba】エクセルファイル内にある数式の内「関数名(IF,SUM等)」のみを、同ファイル内の新しいシートに一覧化したいです。

    vba初心者です。(ネットからコードを拾ってきてちょっと改造できる程度) excel 2003を使用しています。 【前提】 ・「数式」「数値」「文字列」等がセルに入力されたエクセルファイルを使用する  ⇒「関数名」のみを表示する。(文字列や数値が入力されたセルは無視) ・「数式」セルには「関数」が使われているものと、そうでないものがある ・1セル内に複数の関数が使用されている場合あり(新出の関数名であればすべて抽出したい) ・検索対象シート:ブック内のすべてのシート 【質問】 findメソッドで「IF」や「SUM」というように直接関数名を指定して検索するのではなく、「関数」というククリで検索はできるのでしょうか? その検索結果を同ファイル内に新しいシート(Sheet1)を作成し、「関数名」を一覧表示するという流れ(以下にまとめました)にしたいです。 【手順】 (1)Book1内で「関数」検索をする (2)「関数」が見つかった場合は「Sheet1」シートを作成(関数が見つからない場合は,msgbox "該当なし") (3)検索した「関数名」をSheet1のA1セルに入力する (4)Book1内すべて(複数シート有り)の関数名を抽出するまで連続検索をする  ⇒A1→A2→A3→…の様に、A列の上から順に入力していく ※関数名の重複がないように一覧化できれば最高です。 ※シート毎に、抽出した関数名を分けなくて大丈夫です。(あくまでファイル全体で使用されている関数名の一覧) (5)msgbox "終了" 解決方法をご存知の方、ご教示願えませんでしょうか。 宜しくお願いいたします。

  • Excelで、少しプログラムのようなことがしたいのですが・・・

    『A.csv』と『B.xls』のように、別々のexcelfile(または、sheet)で、どちらにも同じ項目の『C』という列があるとします。 その列の入力されているデータ(数値)が一致したとき、『B.xls』のfile(または、sheet)の『C』という列のセルにそのデータ(数値)記入させる。 …みたいなプログラムをExcelでしたいのですが、できるでしょうか?

  • エクセルで数式のセルの値を引用する方法は?

    エクセルで、別シートの数式のセルの現在の値を引用する時、数式が引用されるため、別シートの値が変わると連動して変わります。 引用した時点の数値そのもの(数値が変化しないように)を引用したいのですが、どうすればよいのでしょうか。 引用としては、セルの値として引用する場合とセル内の関数の中の数値に引用したい場合があります。

  • エクセル 同期の反映

    先程、QNo.4234533で エクセルファイル(sumple1.xls)のワークシート名○○のA1のセルに別のエクセルファイル(sumple2.xls)のワークシート名●●のB1の文字列を同期する方法を教えて頂いたのですが、エクセルファイル(sumple2.xls)のワークシート名●●のB1の文字列を変更・保存してエクセルファイル(sumple1.xls)を開いたのですが変更したはずの文字列が反映されませんでした。 どのようにすればきちんと反映するのでしょうか。

  • Excelでセルの値を引用したいのですが・・・

    セルの値を他のbookから引用したい場合 ='ドライブ名:\フォルダ名\[book名.xls]シート名'!セル位置 になると思うのですが この際、「シート名」を任意のセルの文字列で指定出来ないのでしょうか? また、この任意の文字列をプルダウン方式で選択するようにするにはどのようにすれば良いのでしょうか? ご教授の程、宜しくお願い致します。

  • エクセル 数式について

    皆さんこんにちわ。 現在エクセルで計算式を作らせようとしているのですが、 わからない事があったので質問させて下さい。 メインシート(シート1) A1セルに入力欄(数値記入)  B1セルにA1セルから出した結果  C1セルには別シートの対応した列の数値÷B1セルに入力した数値 別シート内容(シート2) A1 1 B1 20000 A2 2 B2 40000 A3 3 B3 60000 例で書くと シート1のA1セルに2 シート1のB1セルに2000  と書いてるとして シート1のC1セルには   「A1には2と入っているのでシート2の2って表示されている列のB2セルの40000÷B1セルの2000」の答えを表示させたいです。 ここでわからないのが別シートからの参照方法とその列の入力した数字の列のBセルの参照 方法です。(その行で2と言う数値がある列の別セルを参照させる) 少しわかりずらいのですが、上記に書いた事のやり方 どんな風にしたらいいのか、詳しい方ご助言下さいm(__)m

  • 外部エクセルの読み込み

    下記の場合どのようにすれば実現できるでしょうか。 エクセルファイル(sumple1.xls)のワークシート名○○のA1のセルに別のエクセルファイル(sumple2.xls)のワークシート名●●のB1の文字列を同期させるにはどのようにすればいいのでしょうか。

専門家に質問してみよう