• 締切済み

関数のみを取得して、メインシートの値を取得する

シートが複数あります。 【メインシート】 D235に金額 D239健康保険料 があります。 このメインシートにあるセルから 設定シートのセルの関数のみを呼び出して メインシートにあるセルに埋め込み、 金額を求めたいです。 どのようにすれば、求めることができますでしょうか。 valueやtext関数でやってもできません。 【設定シート】 =IF(D235="","",IF(K239="対象",VLOOKUP(D235,社会保険料税額表201504!$E$11:$Q$57,7,1), VLOOKUP(D235,社会保険料税額表201504!$E$11:$Q$57,5,1)))

みんなの回答

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.4

質問の意味不明。 目的なりを書けば理解の補助になるのではないか。 たとえば「設定シート」に倣い、別の月のデータで、健康保険料を算出したい、とか。 またメインシートに入れてみた式はどういう式か、質問に書くべきだろう。質問するなら基本的なことだろう。 >valueやtext関数でやってもできません。なんて意味あるのか?理由がないなら質問に書かない方がよい。 ーー 健康保険料は設定シートで出ているのに、またメインシートで同じ健康保険料を出すのですか?データの月分が違うのか? >設定シートのセルの関数のみを呼び出して 高等なことをするような表現だが、(ほかにも,>関数のみを取得して>セルに埋め込み、も、むつかしい表現とおもう。別のやさしい言い方があるだろう。) 質問者が「設定シート」の関数式を、目で見て関数をメモして、関数の意味を勉強して、メインシートに、打ち込めば仕舞いではないか。 社会保険料税額表201504!$E$11:$Q$57が、同じブックにあるなら、その部分はそのままの表現で使えるでしょう。 「メインシート」から見て、「税額表」が別ブックにあるなら、メインシートの関数式のなかで、どう表現したらよいかということなら、「関数式 他ブック参照 VLOOKUP」ででも、Googlede照会すれば、すぐわかるだろう。 http://okwave.jp/qa/q6063344.html http://www.excel-jiten.net/formula/ref_other_books.html のなかほど。 =[src1.xls]参照元!・・・のあたり。

  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.3

>設定シートのセルの関数のみを呼び出して >メインシートにあるセルに埋め込み、 >金額を求めたい ご相談の書きぶりから,設定シートの数式を「そのまんま」メインシートに埋め込んで,ちゃんと正しい答えが出るということですね。 「あるセル」とか言われてもマクロの書きようがありませんので,てきとーにA1セルにします sub mqacro1() worksheets("メインシート").range("A1").formula = worksheets("設定シート").range("A1").formula end sub

  • msMike
  • ベストアンサー率20% (363/1775)
回答No.2

》 設定シートのセルの… どのセル? 「関数のみを呼び出し」とはどういうこと? 》 メインシートにあるセルに埋め込み… どのセルに? 「呼び出した関数」を「埋め込」むとは奇異な表現だけど、どういうこと? 【設定シート】に書かれた2つの式は、当該シートの何処に入力されているの? 「社会保険料税額表201504」のレイアウトが分かるサンプルを示してください。 範囲 $E$11:$Q$57 の上から5行くらいで、1列目と7列目だけでOK。 》 valueやtext関数でやってもできません それらの関数で“やった”意図は?

  • shintaro-2
  • ベストアンサー率36% (2266/6244)
回答No.1

>このメインシートにあるセルから >設定シートのセルの関数のみを呼び出して > メインシートにあるセルに埋め込み、 > 金額を求めたいです。 全体が、日本語として意味不明です。 シート構成を理解していない、第三者が理解できるように記載してください。 vulookupを使うのであれば 例えば シート1のd239の金額を決めるのに 他のシートにある表と照らし合わせて シート1のd235の金額に基づくのであれば、 その関数をd239に記載すれば済む話です。 特に社会保険のように、テーブルの金額に幅がある場合は vlookupでtrueを指定すれば、検索する金額よりも少ない金額 つまり一つ下の階級の保険料を返します。 ですので、テーブルをずらして構成しておくか、vlookupで検索した値をオフセットさせる等の工夫が必要になります。 何故、設定シートの関数のみを呼び出すということをするのでしょうか? 「関数のみ」を呼び出すとは、具体的にどのようなことをしたいのですか? そして、呼び出して埋め込むとは、具体的にどのようなことをしたいのでしょうか?

関連するQ&A

  • VLOOKUP 指定した範囲を取得したい

    セル内に以下の関数を記載しています。 D19に、月額費を入力した(例えば350,000円)際、 厚生年金が29,706円が表示されてしまします。 【入力シートの関数】 =VLOOKUP(D19,社会保険料税額表201504!$C$11:$Q$57,13,1) 月額表では、31,453円です。 これを正しく表示するにはどうすればいいでしょうか。

  • エクセルの関数とグラフについて

    VLOOKUPを使って入力したIDNoに対して、別々のシートから検索するため次のような関数をいれています。=IF(ISERROR(VLOOKUP($E1,'シート名(1)’!$B$5:$IV$254,COLUMN(G6),0)),"",VLOOKUP($E1,'シート名(1)'!$B$5:$IV$254,COLUMN(G6),0))&IF(ISERROR(VLOOKUP($E1,'シート名(2)'!$B$5:$IV$254,COLUMN(G6),0)),"",VLOOKUP($E1,'シート名(2)'!$B$5:$IV$254,COLUMN(G6),0)) この関数から得られた数値を折れ線グラフに反映させたいのですが、グラフに数値として認識されません。セルの書式設定は数値にしています。 ネットで色々調べてみて、この関数の最後に)/1を追加させた式を入力すると数値は認識されるようになりました。しかし空白の場合に#VALUEになり”プロットしない”に設定しても0にグラフが出てしまいます。 また同じ表で日付に対しても日付で表示されなかったので=IF(ISERROR(VLOOKUP(E$1,'シート名(1)'!$B$5:$IV$254,COLUMN(AC6),0)),"",TEXT(VLOOKUP(E$1,'シート名(1)'!$B$5:$IV$254,COLUMN(AC6),0),"ge.m.d"))&IF(ISERROR(VLOOKUP(E$1,'シート名(2)'!$B$5:$IV$254,COLUMN(AC6),0)),"",TEXT(VLOOKUP(E$1,'シート名(2)'!$B$5:$IV$254,COLUMN(AC6),0),"ge.m.d"))の関数を入力したところ日付が表示されるようになったのですが、空白の場合は”M33.1.0”となりグラフ上でも表示されてしまいます。 どうすれば日付や数値としてグラフ上に反映させられるのか教えてください。また空欄の場合には0にポイントされないM33.1.0にならない方法も教えてください。 エクセルは2003です。 エクセル初心者のため説明不足等あるとは思いますがよろしくお願いします。

  • VLOOKUP関数 エクセル関数教えてください

    =IF(ISERROR(VLOOKUP(B2,$E$1:$F$296,2,FALSE)),"",VLOOKUP(B2,$E$1:$F$296,2,FALSE)) という関数を入れて、品番をセルに入力して元表から品名を導く表を作成しました。うまく使えています。 これを元に =IF(ISERROR(VLOOKUP(B2,$F$1:$I$1000,2,FALSE)),"",VLOOKUP(B2,$F$1:$I$1000,2,FALSE)) という関数に直して、同じような表を作ろうとしたのですが、うまくいきません。 何が悪いのか分かりません。 どうすればうまくいきますでしょうか?

  • EXCELのINDIRECT関数について

    こんにちは。 現在仕事で他の方が昔作ったEXCELを見ているのですが、シートが2枚(sheet1, sheet2)あって次のような関数が使われてます。 -- <sheet1> 【セルD15】SGP (←入力) 【セルD16】150 (←入力) 【セルD17】=VLOOKUP(D16,INDIRECT(D15),2) (←関数) (セルD17には、165.2という計算結果が表示されています) <sheet2> SGP 呼径 外径 A mm 6 10.5 8 13.5 10 17.2 15 21.7 20 27.2 25 34.0 32 42.7 40 48.6 50 60.5 65 76.3 80 89.1 90 101.6 100 114.3 125 139.8 150 165.2 175 190.7 200 216.3 (sheet2には、同様の表が上下左右に並んでいます) -- ここで、セルD17に入力されている関数について、VLOOKUPはたまに使うんですが、INDIRECTがサッパリ謎で困っております。 何故こんな簡単な式で、別シートの表の一部を参照できるのか?(しかもシート名の指定もないし・・)という点、どなたか教えていただけないでしょうか? よろしくお願いします!

  • エクセル関数2

    シート(1) A B C D 作業列    コード    顧客名     金額 3        300001     A 10,000 3        300002   B 15,000 3        300003   C 20,000 3        300004   D 25,000 3        300005   E 30,000 4        400001   F 35,000 4        400002   G 40,000  4 400003 H 45,000 4 400004 I 50,000 4 400005 J 55,000         シート(2) A B C D E F 「1」 「2」 「3」 「4」 「5」 「6」 10,000 35,000 15,000 40,000 20,000 45,000 25,000 50,000 30,000 55,000 ※ シート(1)にコード、顧客名、金額を入力すると、シート(2)にあるように該当するコードの先頭行の列に表示するようにしたいと思っています。 シート1で作業列を作りその作業列を基にシート2でVLOOKUP関数を使い‥シート2の10,000のセルの場合、 VLOOKUP(C$2,sheet1!$A$3,$D$12,4,false)として、下にコピーすると同じ金額になってしまいます。 セルが空白にならず、シート1の金額が上から順番にシート2に表記されるようにするにはどうしたらよいでしょうか。マクロはできませんので、関数で詳しく教えて下さい。宜しくお願いします。

  • IFとVLOOKUP関数

    VLOOKUP関数を使って検索結果を出そうと思いましたが、 データ量が93000行X8列になりますので、 共通分けして複数のシート(A、B、C、D)に分けました。 あるセルに『A』と入れると『シートA』の表から検索を行う、 あるセルに『B』と入れると『シートB』の表から検索するといった感じにするには、 IFとVLOOKUPを使用するなら、どのような式を入れたらいいのでしょうか? また、他の関数を使う式があるのでしょうか? マクロやVBAも考えましたが、 あまり知識がありません。 データ量から考えると マクロやVBAで行った方がいいのでしょうか?

  • 月が変わるとその月のシートを参照する関数を教えてく

    現在は給与一覧1月~12月まで12のシートがあります。 L2のセルには=TODAY() J4のセルに氏名 J8のセルに通勤手当=IF(ISERROR(VLOOKUP(J4,給与一覧1月!A1:Q26,6,FALSE)),””,VLOOKUP(J4,給与一覧1月!A1:Q26,6,FALSE))) 他ありますがL2の月が変わると参照するシートも自動で当月に替わる関数を教えてください。

  • Excelの関数

    まず、Excelの関数ボタンを押すと毎回強制終了させられるのですが、直せますか? それから、質問です。 たとえば、sheet2のC列の(魚屋さん)D列(500円)をsheet1のA1(魚屋さん)と入っている行のC1にsheet2のD列の500円を入れるようにしたかったので、VLOOKUPを使って入れるようにしたのですが、コピーをして、別のセルに他の項目(八百屋さんとか)の時も同じようにしようと思ったら、sheet2に同じ項目がないのに魚屋さんの金額が出てしまいます。 項目がないときにsheet1のC1に何も記入されずにする方法を教えてください。 私はsheet1のC1に if(A1=””,””,VLOOKUP(A1,'sheet2'!A1:E10,4))にしました。他にあれば教えてください。 よろしくお願いします。

  • Excel INDIRECT関数の使い方が分からない

    表という名前のSheetがあります。  A 4 1 5 2  : のように、表SheetのA4から下に連番で、    1~400まで数字がふってあります。 式という名前のSheetが式~式(399)まで、400Sheetあります。 400Sheetある式というSheetには表があり、入力されて文字は違いますが、表の配置は全く同じです。 式  のD6セルには 1。Q9セルには「あいうえお」と入力、 式(1)のD6セルには 2 Q9セルには「かきくけこ」と入力されています。 式Sheetが400枚あるので、D6セルには、400まで数字が連番で入力されています。 表SheetのA4セルが、もし空という前提で、1と入力した場合、式~式(399)までのSheetの中から一致した数字が合った場合、そのSheetのQ9のセルの値を返しなさい‥と関数を入れたいと思い、 「INDIRECT」関数を使用しました。 =INDIRECT("式(" & A4 & ")'!D6"  しかし、何度入力しても、REFと出てしまいます。 この関数を使用するのは初めてで、戸惑っています。 どうかご教授ください。

  • 関数 数式 Excel

    すみませんが教えてください! E列に下のような関数を入れたところ正しく表示されませんでした・・・ どうぞよろしくお願いします。 A列(数字・空白を含む)が 1 の場合”◎” A列が1以外の場合は B列(別シートから参照のVLOOKUP関数が入っている)と C列(別シートから参照ののVLOOKUP関数が入っている) を足した数字が D列(別シートから参照ののVLOOKUP関数が入っている) が同じなら ”OK” 違うなら ”NG" と表示させたいので =IF(A1=1,"◎",IF(D181=(B181+C181),"OK","NG")) としてみましたが"◎"が表示される表示は正しいのですが "OK" "NG"が正しく表示されません。 これに加えていずれのセルにも空白が存在するのでエラーを出さないようにしたいです。 よろしくおねがいします!!

専門家に質問してみよう