• ベストアンサー

マクロ(ワーク関数)について教えてください。

takana_の回答

  • ベストアンサー
  • takana_
  • ベストアンサー率44% (21/47)
回答No.2

[Sheet1] F9セルに検索条件を指定するセル関数を入力します =$E$9 & "/" & $E$10 & "/" & $E$11 F10セルに検索結果の該当行を返すセル関数を入力します =MATCH(F9,Sheet2!K7:K88,0) E14~E18結果を表示します =INDEX(Sheet2!$A$7:$J$11,$F$10,@@) ※@@は返したい列を指定してください [Sheet2] k列に検索キーを生成するセル関数を入力します K7セルに検索キーを生成するセル関数を入力します =A7 & "/" & D7 & "/" & E7 K8~K88までK7のセルをコピーします

tatuya24_2006
質問者

補足

回答ありがとうございます。 因みに E14~E18結果を表示します =INDEX(Sheet2!$A$7:$J$11,$F$10,@@) ※@@は返したい列を指定してください の@@は何を意味する部分なのでしょうか? ここに何を入れたらよいのか分からず、 再質問させて頂きます。 宜しくお願いします。

関連するQ&A

  • 関数について教えて下さい(再質問)

    過去に下記の質問をさせて頂きました。 「概要」 ・UNIXのコマンド調査で、コマンドを過去に打ったことがあるかどうかを検索して、   ある→今後も打てる   ない→今後も打てない といった具合に結果を出力させる関数を作成する。   (シート1)→条件指定のシート ・過去に打った実績があるかどうかを(3つの条件から)検索して、結果を出力するシート    セルE9→任意のコマンドを(直接)入力→例.df セルE10→どのサーバで打つか(リスト)から選択→例.STサーバ セルE11→目的は何か(リスト)から選択→例.ディスク使用状態の確認  以上が条件指定 以下が検索結果(シート2の情報から出力する) セルE14→コマンド(df)を打った結果→例.プロンプトが戻る セルE15→コマンド(df)の意味→例.ディスク使用状態の表示 セルE16→コマンド(df)を打ったことにより監視装置にエラーメッセージが出力するか→例.出力されない セルE17→コマンド(df)が運用に影響があるか→例.なし セルD18→コマンド(df)が実際に打てるか(例 ○)→ココが本来の主旨    ・まとめるとシート1の表は下記のようになります。       D列                          E列             9行目  コマンドを入力して下さい       df(直接入力) 10行目  場所は?                 STサーバ       11行目  目的は?                  ドライブの使用状況確認      ・ 14行目  どうなる(出力)              プロンプトが戻る 15行目  何の情報                ディスク使用状態の表示 16行目  アラームが出力される         出力されない 17行目  運用に影響がある              なし 18行目  打てる、打てない             ○   (シート2) ・「過去に打ったコマンド名=A列」・「打てる、打てない=C列」・「運用に影響がある=D列」・「場所=F列」・「目的=G列」・「何の情報=H列」・「アラームが出力される=I列」・「どうなる(出力)=J列」の情報が保存されている   DBみたいなモノ →下記の表のように管理しています。(他の列は必要ないので省略します。)      A列    C列    D列   F列           G列                  H列                 I列            J列 7行目   df     ○    なし  STサーバ      ディスク使用状態の確認    ディスク使用状態の表示     出力されない    プロンプトが戻る ・ 88行目 ・1コマンドにつき列ごとに整理されています。  A列7~88行目→打ったコマンドの一覧→88種類(これからも増えます) C列7~88行目→任意のコマンドが実際の環境で打てるか→約2種類(○or×) D列7~88行目→任意のコマンドが運用に影響があるか→約2種類(ありorなし)の2種類 F列7~88行目→コマンドの打った場所のサーバ名→約20種類(こらからも増えます) G列7~88行目→コマンドの打った目的→88種類(これからも増えます) H列7~88行目→何の情報→88種類(これからも増えます) I列7~88行目→コマンドを打った際のアラームの出力→2種類(ありorなし) J列7~88行目→コマンドを打ったらどうなるか →その結果下記の回答を頂きまして、大分完成に近づいてきました。    [Sheet1] F9セルに検索条件を指定するセル関数を入力します =$E$9 & "/" & $E$10 & "/" & $E$11 F10セルに検索結果の該当行を返すセル関数を入力します =MATCH(F9,Sheet2!K7:K88,0) E14~E18結果を表示します =INDEX(Sheet2!$A$7:$J$11,$F$10,@@) ※@@は返したい列を指定してください [Sheet2] k列に検索キーを生成するセル関数を入力します K7セルに検索キーを生成するセル関数を入力します =A7 & "/" & D7 & "/" & E7 K8~K88までK7のセルをコピーします  →(sheet2で)1つのコマンド(df)に対して複数のサーバ名が入力してあるレコード(1行)があります。 A列    C列    D列   F列           G列                  H列                 I列            J列 7行目   df     ○    なし  STサーバ/DBサーバ      ディスク使用状態の確認    ディスク使用状態の表示     出力されない    プロンプトが戻る 「df」で検索しサーバ名が「STサーバ」/「DBサーバ」なら「真」  それ以外の場合、「偽」となる式を教えて下さい。

  • 関数について教えて下さい。(再質問)

    過去に下記の質問をさせて頂きました。 「概要」 ・UNIXのコマンド調査で、コマンドを過去に打ったことがあるかどうかを検索して、   ある→今後も打てる   ない→今後も打てない といった具合に結果を出力させる関数を作成する。   (シート1)→条件指定のシート ・過去に打った実績があるかどうかを(3つの条件から)検索して、結果を出力するシート    セルE9→任意のコマンドを(直接)入力→例.df セルE10→どのサーバで打つか(リスト)から選択→例.STサーバ セルE11→目的は何か(リスト)から選択→例.ディスク使用状態の確認  以上が条件指定 以下が検索結果(シート2の情報から出力する) セルE14→コマンド(df)を打った結果→例.プロンプトが戻る セルE15→コマンド(df)の意味→例.ディスク使用状態の表示 セルE16→コマンド(df)を打ったことにより監視装置にエラーメッセージが出力するか→例.出力されない セルE17→コマンド(df)が運用に影響があるか→例.なし セルD18→コマンド(df)が実際に打てるか(例 ○)→ココが本来の主旨    ・まとめるとシート1の表は下記のようになります。       D列                          E列             9行目  コマンドを入力して下さい       df(直接入力) 10行目  場所は?                 STサーバ       11行目  目的は?                  ドライブの使用状況確認      ・ ・ 14行目  どうなる(出力)              プロンプトが戻る 15行目  何の情報                ディスク使用状態の表示 16行目  アラームが出力される         出力されない 17行目  運用に影響がある              なし 18行目  打てる、打てない             ○   (シート2) ・「過去に打ったコマンド名=A列」・「打てる、打てない=C列」・「運用に影響がある=D列」・「場所=F列」・「目的=G列」・「何の情報=H列」・「アラームが出力される=I列」・「どうなる(出力)=J列」の情報が保存されている   DBみたいなモノ →下記の表のように管理しています。(他の列は必要ないので省略します。)      A列    C列    D列   F列           G列                  H列                 I列            J列 7行目   df     ○    なし  STサーバ      ディスク使用状態の確認    ディスク使用状態の表示     出力されない    プロンプトが戻る 8行目   CP    ○    なし  DBサーバ         コピー              コピー                出力されない      プロンプトが戻る ・ ・ 88行目 ・1コマンドにつき列ごとに整理されています。  A列7~88行目→打ったコマンドの一覧→88種類(これからも増えます) C列7~88行目→任意のコマンドが実際の環境で打てるか→約2種類(○or×) D列7~88行目→任意のコマンドが運用に影響があるか→約2種類(ありorなし)の2種類 F列7~88行目→コマンドの打った場所のサーバ名→約20種類(こらからも増えます) G列7~88行目→コマンドの打った目的→88種類(これからも増えます) H列7~88行目→何の情報→88種類(これからも増えます) I列7~88行目→コマンドを打った際のアラームの出力→2種類(ありorなし) J列7~88行目→コマンドを打ったらどうなるか→5種類 ・プロンプトが戻る ・プロンプトが戻りファイル生成される ・結果が標準出力された後、プロンプトが戻る ・結果が標準出力された後、プロンプトが戻る(標準出力がないケース) ・結果を標準出力したまま、Ctlr+Cで戻す →その結果下記の回答を頂きまして、大分完成に近づいてきました。    [Sheet1] F9セルに検索条件を指定するセル関数を入力します =$E$9 & "/" & $E$10 & "/" & $E$11 F10セルに検索結果の該当行を返すセル関数を入力します =MATCH(F9,Sheet2!K7:K88,0) E14~E18結果を表示します =INDEX(Sheet2!$A$7:$J$11,$F$10,@@) ※@@は返したい列を指定してください [Sheet2] k列に検索キーを生成するセル関数を入力します K7セルに検索キーを生成するセル関数を入力します =A7 & "/" & D7 & "/" & E7 K8~K88までK7のセルをコピーします  →3つの検索条件で一致した場合はリストから正しく表示しますが、  一致しない場合は、結果が「#N/A」と出力します。  条件がひとつでも一致しない場合は、「#N/A」でなく「空欄」で何も表示しない状態にしたいのですが  可能でしょうか? 宜しくお願いします。

  • ワーク関数(VLOOKUP/INDIRECT)について教えてください

    当方、31歳の男です。 先日、上司にマクロ(ワークシート関数?)を使用して、下記のツールを作れ、と 指示されました。 「概要」 ・UNIXのコマンド調査で、コマンドを過去に打ったことがあるかどうかを検索して、   ある→打てる   ない→打てない  といった具合に結果を出力させるマクロ(ワークシート関数)?を作成する。    (シート1)   ・過去に打った実績があるかどうかを検索して、結果を出力するシート     (シート2)   ・「過去に打ったコマンド」・「何処のサーバで打った」・「目的」が入力してあるDBみたいなモノ     →ココを参照して結果を出す。   (シート1について)  ・条件指定のシート(条件は3つを指定する)  セルE5→任意のコマンドを(直接)入力→例.df  セルE6→どのサーバで打つか(リスト)から選択→例.DBサーバ セルE7→目的は何か(リスト)から選択→例.障害対応 以上が条件指定    以下が検索結果  セルE9→コマンド(df)の意味(例 ドライブの使用状況)  セルE10→監視装置にコマンド(df)を打ったことによりエラーメッセージが出力するか(例 出力しない)  セルE11→コマンド(df)が運用に影響があるか(例 なし)  セルD12→コマンド(df)が実際に打てるか(例 ○)→ココが本来の主旨 (シート2について) ・1コマンドにつき列ごとに整理されています。    A列1~10行目→打ったコマンドの一覧→約10種類   B列1~10行目→コマンドの打った場所のサーバ名→約3種類(STサーバ・DBサーバ・PNサーバ)   C列1~10行目→コマンドの打った目的→約3種類(障害対応・ログ調査・顧客依頼)   D列1~10行目→コマンドの意味→10種類   E列1~10行目→コマンドを打ったことにより監視装置にエラーメッセージが出力するか→約2種類(出力or出力しない)   F列1~10行目→任意のコマンドが運用に影響があるか→約2種類(ありorなし)の2種類   G列1~10行目→任意のコマンドが実際の環境で打てるか→約2種類(○or×) 多分、マクロではなくワーク関数(VLOOKUP/INDIRECT/IF)を使えば出来ると思いますが、当方さっぱり分かりせん。 (素人でコンピュータ専門分野でもないので...。) 骨格だけでも結構ですので教えてもらいないでしょうか? 以上、お願いします。

  • マクロが作れません。

    31歳の会社勤めの男です。 仕事でマクロの作成を依頼されましたが、ド素人の為にとりかかることが出来ません。 お知恵を拝借できないでしょうか? 説明が下手ですが、何卒お願い致します。 「概要」 ・UNIXのコマンド調査 ・任意のUNIXコマンドをどこで、何の目的で打つかによって、  運用に影響がないか、実際の環境で打てるのか等の判断結果が出るマクロを作成する。   (シート1について)  セルD4→任意のコマンドの名前を入力する(例 df) セルD5→任意のコマンド(df)をどのサーバで打つかプルダウンから選択する(例 バックアップサーバ) セルD6→任意のコマンド(df)を何の目的で打つかプルダウンから選択する(例 障害調査) 以上が条件指定 以下が判断結果 セルD9→任意のコマンド(df)の得られる情報(例 ドライブの使用状況) セルD10→監視装置にコマンド(df)を打ったことによりエラーメッセージが出力するか(例 出力しない) セルD11→任意のコマンド(df)が運用に影響があるか(例 なし) セルD12→任意のコマンド(df)が実際の環境で打てるか(例 ○) (シート2について) ・シート1のプルダウンするセルD5からセルD12までの情報が記述されている ・コマンド単位で列ごとに整理されています。    A列1~50行目→コマンドの一覧が記載(シート1のセルD4に該当)→50種類   B列1~50行目→サーバ名が記載(シート1のセルD5に該当)→約30種類   C列1~50行目→目的が記載(シート1のセルD6に該当)→約5種類   D列1~50行目→任意のコマンド(df)の得られる情報が記載(シート1のセルD9に該当)→50種類   E列1~50行目→監視装置にコマンド(df)を打ったことによりエラーメッセージが出力するか記載(シート1のセルD10に該当)→出力or出力しないの2種類   F列1~50行目→任意のコマンド(df)が運用に影響があるか記載(シート1のセルD11に該当)→ありorなしの2種類   G列1~50行目→任意のコマンド(df)が実際の環境で打てるか(シート1のセルD12に該当)→○×の2種類

  • #REF!を直したい

    31歳の男です。 下記の関数の件で悩んでいます。 お知恵をお貸しください。 (概要) ・UNIXのコマンド調査で、コマンドを過去に打ったことがあるかどうかを検索して、   ある→今後も打てる   ない→今後も打てない  といった具合に結果を出力させる関数を作成する。   (シート1)→条件指定・結果表示のシート ・過去に打った実績があるかどうかを(3つの条件から)検索して、結果を出力するシート  (条件)   E9→コマンド   E10→場所(サーバ名)   E11→目的  (結果)   E14→コマンドを打ったらどうなるか   E15→コマンドの意味   E16→コマンドを打ったことにより監視装置にエラーメッセージが出力するか   E17→コマンドが運用に影響があるか   D18→コマンドが実際に打てるかどうか    (シート2)→過去に打ったコマンド名などが入力されているDBみたいなモノ  A列7~88行目→コマンドの一覧→81種類(これからも増えます)  C列7~88行目→コマンドが実際に打てるかどうか→約2種類(○or×)  D列7~88行目→コマンドが運用に影響があるか→約2種類(ありorなし)の2種類  F列7~88行目→場所(サーバ名)→約20種類(こらからも増えます)  G列7~88行目→コマンドの意味→81種類(これからも増えます)  H列7~88行目→何の情報→81種類(これからも増えます)  I列7~88行目→コマンドを打ったことにより監視装置にエラーメッセージが出力するか→2種類(ありorなし)  J列7~88行目→コマンドを打ったらどうなるか (全関数式は下記の通りです) F9→=$E$9 & "/" & F11& "/" & $E$11 F10→=MATCH(F9,sheet2!K7:K88,0) F11→=INDEX(sheet2!F:F,MIN(INDEX(SUBSTITUTE((sheet2!A1:A100=E9)*ISNUMBER(FIND(E10,sheet2!F1:F100)),0,10^5)*ROW(sheet2!F1:F100),))) E14→=IF(ISNA($F$10),"登録されてません",INDEX(sheet2!$A$7:$J$88,$F$10,10)) E15→=IF(ISNA($F$10),"登録されてません",INDEX(sheet2!$A$7:$J$88,$F$10,10)) E16→=IF(ISNA($F$10),"登録されてません",INDEX(sheet2!$A$7:$J$88,$F$10,9)) E17→=IF(ISNA($F$10),"登録されてません",INDEX(sheet2!$A$7:$J$88,$F$10,4)) E18→=IF(ISNA($F$10),"登録されてません",INDEX(sheet2!$A$7:$J$88,$F$10,3)) 何とか検索できるようになりましたが、 以下2点が結果として「#REF!」と表示されてしまうので、これを「登録していません」と表示するようにしたいです。 ・一覧表(Sheet2)にないコマンドを入力した場合。 ・コマンド/目的は一致しているが、場所のみ違うものを選択した場合。 以上、宜しくお願い致します。

  • (マクロ)プルダウンの選択と抽出について

    31歳の男です。 会社でマクロの作成を依頼されましたが、素人なのでチンプンカンプンです。 分かりづらい説明ですが、下記のようなマクロ文が出来れば ありがたいと思っています。 お知恵を貸してください。 よろしくお願いします。 「概要」 ・条件に「好きな果物」・「どこで手に入れたか」・「どうしたか」を入力すると、  実行結果として、「自分はどう思ったか」・「他人はどう思ったか」を実行結果として  表示させるマクロを作る。 (シート1について)  ・条件を指定して実行結果をマクロで表示させるシート セルD4→任意の果物の名前を入力する(例 メロン) セルD5→任意の果物をどこで手に入れるかプルダウンより選択する(例 冷蔵庫) セルD6→任意の果物をどうするかプルダウンより選択する(例 自分で食べる) 以上が条件指定 以下が実行結果 セルD8→自分はどう思ったか(例 うれしい) セルD9→他人はどう思ったか(例 うらやましい) (シート2について) ・シート1のプルダウンで選択するもの(シート1のセルD4~D6)と実行結果は  全てシート2に記載済みです。 A列→メロン・スイカ・バナナ・リンゴ.etc(=シート1のセルD4に該当)→50種類 B列→冷蔵庫・冷凍庫・棚(=シート1のセルD5に該当)→3種類 C列→自分で食べる・人にあげる・棄てる(=シート1のセルD6に該当)→3種類 D列→うれしい・かなしい・うらやましい(=シート1のセルD8に該当)→3種類 E列→うれしい・かなしい・うらやましい(=シート1のセルD9に該当)→3種類 このように果物毎にデータが1行づつあります。 (メロンの例) メロン・冷蔵庫・自分で食べる・うれしい・うらやましい といった具合にデフォルトで固定されています。 以上です。

  • マクロCSV出力

    Sheet1に入力されている値をCSVファイルに出力したいと思っております。 但し、特定のセルだけを取得して、1つのファイルに出力したいと思っています。 (1)D2~G2に入力されている値を取得 (2)E4~E10までと、E4~E10の最終列までの値を取得 (3)B11の値を取得 (4)A13~A列の最終行まで、A13~A列の最終行の最終列までの値を取得 (1)、(2)、(3)、(4)の値を取得して、1つのCSVファイルに出力するプログラムを作成したいと思っております。 (1)は1行目に出力 (2)は2行目~8行目に出力 (3)は9行目に出力 (4)は10行目以降に出力 出力の形式は ”TEST”,” ”,”SMP”のようにダブルクォーテーションで値を囲って出力したいと思っています。 値が入っていないセルは” ”,としたいと思っております。 サンプルを作成して頂けないでしょうか。

  • Excelの関数またはマクロを教えて下さい。

    Exsel2000の関数で、現在以下の関数まで出来たのですが、これを応用して検索値「A1」を2つのセル「A1&B1」にしたいのですが、どうすればよいのでしょうか?どなたか方法を教えて下さい。 =VLOOKUP(A1,Sheet1!$A$1:$E$2000,4) 上記の関数から判るように、これは 例えばSheet2のC1のセルにこの式を入れる場合、A1と同じ内容の値を、Sheet1のA列から検索して、そして同じ行のSheet1のD列の値をSheet2のC1のセルに返すという関数です。 これを応用して、「A1と同じ内容…のA1を、A1&B1の2つが一致するセルを検索して、同じ列のSheet1のD列の値をSheet2のC1のセルに返すという関数にしたいのです。 どなたかおわかりになる方がおりました宜しくお願いいたします。 また、マクロを使う方法でも良いのですが、当方マクロは詳しくないので出来るだけ判りやすくお願いいたします。

  • 関数かマクロを教えて下さい

    こんにちは A列に0から9999まで数値が入力されています。 セルBnに【8428028+52631578×セルAnの値】を入力したいのですが、計算結果が【2113691160】より小さければ、その結果をそのままセルに出力、【2113691151】以上であれば、【計算結果-1999999962】が【2113691160】より小さくなるまで計算し、その値をセルに出力したいのです。 よろしくお願いします。

  • 一番下がどこかを確認する関数を知りたいのですが・・・

    タイトルではチョッとわかりにくいかと思いますが。。。 以下に簡単な例を記しておきますので、どなたかご教示おねがいします^^;       A列   B列   C列   D列 1行目 2行目    ○    3行目 4行目    ○        ○ 100行目       ○ 200行目                 ○ こういうようなシートがあったとします。 別シートの式で自動で○が入力される表なわけですが これらは、○があるセルもあれば、空白のセルもあります。 上のシートを例にすると、A列の一番下の○は4行目、B列は100行目、C列は4行目、D列は200行目、となっております。 一番下までの○が何行目になるのか。ということを知りたいのです。 もちろん自分で数えれば簡単にわかる結果ですが、これを自動で表示するような関数があればと思い、質問させていただきました。 私の知る関数の知識、また応用力ではお手上げ状態です、どなたかご存知の方、よろしくお願いします^^;