• 締切済み

また教えてください!Excelで作った表で・・・

助けてください!!  Excelで作った3つの表があります。 ※1つのファイルの中に3つのシートとして作られています。 (1)元となるデータが入っているもので、  (例) 1月1日 1,000    1月2日  500   ~    2月1日 1,500    2月2日 1,800 …と、連続した日にちと数値が入力されています。(数年分) (2) (1)の表から部分的にリンクさせて1カ月分を抜粋しています。  (例) 1月1日 =(1)!A1     1月2日 =(1)!A2 1月3日 =(1)!A3 ←多少違うかもしれませんが、こんな感じの式?を入れてデータを引っ張ってきています。 (3) (2)と同じですが、(2)に抜粋したデータの次月分が入力されています。  (例) 2月1日 =(1)!A32     2月2日 =(1)!A33 2月3日 =(1)!A34    (2)と(3)は1つ1つのデータは違うものの、表の作りとしては同じです。 (2)や(3)のような表が、すでに何カ月先の分まで それぞれシートとして作られているのですが、 その表の内容が正しいか確認したいのです。 例えば、2月のデータを表(1)から引っ張ってきたいのに  (例) 2月1日 =(1)!A32→“(1)!A31”になっている…など 違うセルが入力されていないようにしたいのです。   それで、考えたのは すでに終わった月の表は正しい式が入っているのだから、 正しい表と新しい表を比べられないか?という事です。 (回りくどくてスミマセンm(__)m) でも、引っ張ってくる元のセルが違っているので 単純に比較できず、関数にも詳しくないので、どうしたらいいのか分かりません。 間違えないように、初めからもう一度作る・・・というのはナシで、比較をして確認したい場合でお願いします。 また、比較ではなく、他に方法がありましたら教えてください。 不明な点は補足をさせていただきますので、よろしくお願いします。

みんなの回答

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

質問が長文なんですが、質問の主旨が良く伝わらないです。 「シートに関数式を自分が入れているが、自信が無く、先人の作ったものと比べて正しいかチェックしたい」ということでしょうか。 シートで、(A)式の複写を使い、規則性のある式がほとんど(B)セルごとに違う式が入っているのタイプ、に普通は分けられるが、(A)の場合はそんなに凡ミスは無く全部結果が狂うことが多いので気がつき易い。 さて式をチェックするツールみたいなのを紹介します。 シートのメニューのツール-マクロ-VBEをクリックして、VBEの画面になる。その画面のメニューの挿入-標準モジュールをクリックして標準モジュールの画面が出る。そこへ下記をコピーして貼りつける。 Sub test01() Dim cl As Range j = 1 c = Worksheets("sheet4").Range("IV1").End(xlToLeft).Column For Each cl In Selection Worksheets("sheet4").Cells(j, c + 1) = "'" & cl.Formula j = j + 1 Next End Sub この Sheet4 の部分(2箇所)を、自分の未使用の(または今、ワークシート挿入したシートの)名前で置き変える。(Sheet4がいま、未使用なら上記のままでよい。) 式をチェックしたいシートの、式の入っている範囲を範囲指定する(式が入っていないセルを含んでいても可)。 その後、タスクトレー部のVBEのアイコンをクリックし、上記プログラムコードを表示し、そのコードの途中をどこでも良いからクリックし、VBE画面のメニューの 実行-「SUB/ユーザーフォームの実行」をクリックする。 Sheet4に戻ると、範囲指定した範囲のセルの関数式が表示されているはず。 (1)まず正しいと思うシートについて実行し (2)次に自信のない方のシートの、関数の入っている範囲((1)と対応する範囲)を指定してもう一度実行する。 (1)(2)の両シートの関数式が同行の隣接列に併記されるから、Sheet4を印刷して、紙の上(机上)でじっくり両者を比較検討してください。 誤りは見つけやすいでしょう。 なお=Sheet1!A1などのSheet1の1の部分は式の複写で変化しませんから念の為。

  • 134
  • ベストアンサー率27% (162/600)
回答No.1

Sheetの構成が    A    B   1  日付   データ 2 1月1日  1,000 3 1月2日   500 となっているとして、 シート2のC2セルに =min(if(sheet1!$A$1:$B$365=A2,sheet1!$B1:$B$365,"")) と入力して、shiftとctrlを押しながら、enterを押します。 ついで、D2セルに =if(c2<>D2,"再確認","") と入力して、C2とD2の関数を下にコピーすると、確認可能になると思います。 ただし、 「$B$365」 は、最下データのセル番地です。 

関連するQ&A

  • エクセル予定表のリンク

    エクセルで年間予定表シートと月予定表シートをリンクさせています。 年間シートは,A3から1年分の日付が縦1列に並んでおり,A1に西暦を入力すると曜日が変化する万年歴になっています。B列にその日の予定を入力しています。 月予定表シートは,4月がA列B列,5月がC列D列,・・・と並んでおり,日付も予定も年間シートからリンクしています。 ここまでは,「=年間予定表!B7」というような式で十分だったのですが,2月が閏の場合に月予定表の3月1日のセルが年間予定表の2月29日を参照してしまいます。 年間予定表のA337が3月1日の場合はそのまま参照し,2月29日の場合は次のセルを参照する関数はないでしょうか。

  • エクセル 表の作成

    エクセルが上手く活用できず困っています。 良い方法があれば教えてください。 過去に作ったたデータで以下の様な表がシート1にあります。 Aにはクライアント名 Bは、担当者名 Cは、数量 Dは、金額が入力されています。 【1月】 ○○社  A中 3m \10000 ○×社 T木 10m \50000 : 【2月】  △△社  B野 3m \10000     ○○社  C中  1m \1000 :    : : 【3月】   :   :   : 【12月】 これらのデータを元に、シート2に… クライアント名を入力すると過去のデータが表示されるような データを作りたいと思っています。 例:(○○社)と入力すると…           1月  A中  3m  \10000 2月  c中   1m  \1000 この様な表を作る事は可能なのでしょうか? 分かりにくい説明ですみません。どなたかいい案がありましたら 教えてください、 よろしくお願いいたします。

  • エクセルで出来ますか?

    エクセルで12枚のシートに同じ表が1つずつ作ってあります。表の中は文字のセルも数式のセルもあります。各シートの同じセルにあるものを選び出して、別の新しいシートにある表の指定した部分に貼り付けたいのです。要するにシート間の串刺しをして別のところに貼り付けたいわけです。例を書きます。 元の表というのは例えば、「シート1はAさんのデータで名前、住所などが入力してある。シート2はBさん、シート3はCさん・・・」で、名前だけの一覧表を新しいシートに作る、ということがしたいのです。質問の意味わかっていただけましたでしょうか?よろしくおねがいします。

  • エクセルで表をつくりたい。

     現在、仕事でエクセルをつかった表をつくりたいと思っています。 具体的には、シート1のA1のセルに数字の1を入力したらシート2と3のA1のセルに「野球」という文字をシート1のA1のセルに2を入力したらシート2と3のセルA1に「サッカー」・・・といった具合にシート1のA1に入力された番号によって変えていきたいのですが方法がわかりません。 どなたか詳しくお願いします。

  • エクセルでの表の作り方2

     エクセルでの表について質問があります。 シート1のA1、A2・・・・A7というセルに「する」もしくは「しない]を入力してシート2のA1、A2・・・・A7のセルに「する」のみの人を上詰めで表示したいのですが方法がわかりません。 例 シート1   山田 する   伊藤 しない   上田 する ↑このように入力すると シート2ではこのように表示するようにしたいのです。   山田   上田     条件つき書式をつかえばAのみの人を表示できるとはおもうのですがその場合上詰めはできないので・・・・

  • エクセル2007をつかっています。「会社で何月何日に、誰がどこへいったのか」がわかる表を作ろうとしています

    エクセル2007をつかっています。「会社で何月何日に、誰がどこへいったのか」がわかる表を作ろうとしていますが、 うまくつくれません。 シート1に以下のようなデータをつくり、 4月1日 佐藤 Aに訪問 4月2日 鈴木 Bに訪問 4月2日 加藤 Cに訪問 シート2のA1に「4月2日」と入力したら、このデータを参照して、A2とB2、A3とB3の セルに、 4月2日 鈴木 Bに訪問 加藤 Cに訪問 と出力されるようにしたいのです。 INDIRECT、SMALL、ROWの機能をつかったり、いろいろ試してみたのですが、自分が素人なため、どうしてもうまくいきません。 どなたか詳しい方がいれば教えてください。よろしくお願いします

  • 同じ数字の時塗りつぶす エクセル

    Sheet1のA1セルからH1セルまでに日付が入っています(1月1日~1月7日) Sheet2のA1セルには赤、B1には白と文字入力しており、A2~B32までそれぞれ日付が入力してあります。(日付のダブりはありません) 例:A2~A9までは1月1日~1月7日 B10~B17は1月8日~1月15日といったような Sheet1のA1セルに日付を入力したときにSheet2の赤または白に日付が該当する場合にその色で自動的に塗りつぶすような動作はできないでしょうか? 例えばSheet1のA1セルに1月1日と入力した場合、Sheet2ではA列(赤)に1月1日と記載があった場合そのタブ1のA1セルが塗りつぶされるといった内容です。 お手数ですがご回答のほどよろしくお願いいたします

  • エクセル マクロを使った表について

    エクセル初心者です。マクロを、教えていただけませんか。 シート1:入力シートです。 例えば以下のような表があります。         月 1日 2日 3日 4日・・・31日 個別物件名1   A  B  C  空白    D 個別物件名2   E 空白 空白  F    空白 個別物件名3  空白  G  H   空白   I シート2:シート1のリンクシートです。         月 1日 2日 3日 4日・・・31日 個別物件名1   ○  ○  ○ 空白    ○ 個別物件名2   ○ 空白 空白  ○   空白 個別物件名3  空白  ○  ○ 空白    ○ 上記のようにシート1には毎月、ある決まりに沿ってアルファベットを 入力するのですが、入力し終わったら(入力と同時でも構いません) シート2には、そのアルファベットを入力してある位置に印として ○を打ちたいんですが、どのように組んでいけばよいのか解りません。 すいませんが、ご教授ください。よろしくです。 補足 ・シート1とシート2の表の書式はまったく違うため、貼り付けは  できません。 ・結局は、シート1のあるセルに文字が入力されると自動的に  シート2のセルに○の印がつき、上記表で言えば、反映回数?は  9回ですが月によって反映回数は変わります。(入力と同時の場合) 説明が下手ですいませんがよろしくお願いします。

  • 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と出てしまいます。 この関数を使用するのは初めてで、戸惑っています。 どうかご教授ください。

  • エクセルで日付を手入力しているセルの入力月をカウントし、シートがまたがっている場合の足し算の仕方を教えてください。

    教えてください。 エクセルで日付を手入力しているセルの入力月をカウントし、シートがまたがっている場合の足し算の仕方を教えてください。 okwebで質問をしたときに、教えて頂いた方法で追加の質問があります。 シートをまたがっているものもあるので足し算をしたいのですが、 なかなかうまくいきません。 足し算の書き方を教えてください。 表示の仕方は、4/1と入力し、ユーザー定義で平成18年4月1日と表示しています。 (例) シート1には、4月と5月のデータがあり、 シート2には、5月と6月のデータがあり、 シート3には、5月と6月と7月のデータがあります。 4月の個数を求める時は、下記の関数でうまく計算出来ましたが、 5月の個数を求める場合は、シート1とソート2を足したものが個数となります。 式の書き方を教えてください。 ■countifを使ってはどうでしょう。   例)A1-A5の範囲の8月の個数を求める場合。    =COUNTIF(A1:A5,">=8/1")-COUNTIF(A1:A5,">=9/1") ■方法はいくつかあります。  #1の方と同じで範囲の計算だと  =SUMPRODUCT(($A$1:$A$100>="2006/08/01"*1)*($A$1:$A$100<="2006/08/31"*1))  ↓過去の質問内容 『A1に申し込み月という項目を作り、 その下に(A2,A3・・・)日付を入力していきます。 例えば、8月2日,8月14日,9月3日とか9月22日,9月28日,9月30 日・・・など 8月が入っているセル、9月が入っているセル、10月が入っているセルの個数をカ ウントするにはどうしたらよいですか。 この例の分ですと、 別のシートに8月は『2』と表示し、(2日・14日分) 9月は『4』と表示したいです。(3日・22日・28日・30日)』