• ベストアンサー

Excel:数値が入力されている最終セルを常に他のシートに自動表示

解りづらいかもしれませんが・・・。 複写機の検針用にexcelで集計および請求書を作成しようと思っています。 sheet1のA1に訪問日、B1に訪問時のカウント数、C1に使用カウント数、D1に控除カウント数、E1に請求カウント数、F1に請求金額と項目名を表示 A2に2007/1/31、B2に50、C2に0、D2に0、E2に0、F2に0 A3に2007/2/28、B3に100、C3に数式[B3-B2]、D3に5、E3に[C3-D3]、F3に[E3*5]という風に毎月累積していきます。 これをsheet2のA1にB列の訪問時のカウント数の最新数値を常に表示させたいのですが、どういう方法がありますか? 例のままですと最新月日が2007/2/28ですので、sheet2のA1の数値は「100」ですが、これが2007/3/31のB列の数値が「500」になったら、sheet2のA1も「500」になって欲しいのですが、そういうことは可能ですか? 可能なら、方法を御教示下さい。

  • Youyou
  • お礼率64% (2254/3473)

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

  • ベストアンサー
noname#52504
noname#52504
回答No.4

#1です。 #1では一般論としていろいろ書きましたけど、 状況に特化して考えるなら、[訪問時カウント数]が減ることはない、という前提で、 単に、  =MAX(Sheet1!B:B) とすれば良いかも。^^;

Youyou
質問者

お礼

ありがとうございます。ANo.1で申し上げたとおりです。 助かりました。

その他の回答 (3)

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

◆最新月日の訪問時カウント数であれば =VLOOKUP(MAX(Sheet1!A:A),Sheet1!A:B,2,0)

Youyou
質問者

お礼

度々恐れ入ります。 本当にここにはExcelの達人ぞろいで勉強になります。 また、近いうちにこちらの質問から派生した新たな疑問がありますので、もし見かけられましたらご教示よろしくお願いいたします。

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

◆こんな方法はいかがでしょうか? ★sheet2のA1 A1=LOOKUP(10^10,Sheet1!B:B)

Youyou
質問者

お礼

ありがとうございます。 これもアリですね。助かります。

noname#52504
noname#52504
回答No.1

●甲案 B列全体について、入力済のセルの数を数えて、 B1セルをその数だけ下方にずらしたセルの値を返す  =OFFSET(Sheet1!$B$1,COUNTA(Sheet1!B:B)-1,) たえば、4行目まで入力されていれば、入力済みのセルは4つですから、 目的のセルは、B1セルを基準にして、4-1=3下方のセルとなります。 ただし、COUNTAは、いわゆる「長さゼロの文字列""」もカウントします。 B列に数式で""が入っているような場合はCOUNTAの代わりにCOUNTを使って数値だけを数え、 見出し行など文字列が入っている行の分カウントを調整します。 また、B列の途中に空白セルがあるとカウントがずれてしまうので注意が必要です。 B列の途中に空白セルが存在する可能性がある場合は… ●乙案 B1:B9999の範囲について、空白でないセルの行番号をとり、 その最大の行番号に応じて、B1セルを下方にずらしたセルの値を返す    =OFFSET(Sheet1!$B$1,MAX(INDEX((Sheet1!$B$1:$B$9999<>"")*ROW(Sheet1!B1:B9999),))-1,) 例えば、1,3,4行目が入力されていれば、空白でないセルの最大の行番号は4ですから、 目的のセルは、B1セルを基準にして、4-1=3下方のセルとなります。 以上ご参考まで。

Youyou
質問者

お礼

ありがとうございます。 ANo.4がシンプルで問題無しでしたので、その方法を使わせていただきました。

関連するQ&A

  • Excel:数値が入力されている最終セルのひとつ前(上)を常に他のシートに自動表示

    http://okwave.jp/qa3850667.html にて質問したのですが、このときは下のセル(新しいデータ)の数値が上のセル(古いデータ)の数値を下回ることがなかったのでこれでよかったのですが、今回は数値の大小が順不同です。 整理して説明しますと、以下の通りです。 Sheet1のD2に「0」、D3に「151」、D4に「121」、D5に「89」という数値が入力されているとします。 このとき、Sheet3のF21に「121」を表示させたいのです。 当然、Sheet1のD6に新たに何らかの数値が追加されればSheet3のF21には「89」が表示されなくてはなりません。 ちなみにD列への入力は制限なしです(何行目まで入力するかは未定)。 http://okwave.jp/qa3850667.html で御教示いただいた数式ですと、「151」が表示されてしまいます。 色々自力で調べてみたのですが、どうしても解らず質問させていただきました。 よろしくお願い致します。

  • VBA 他シートを参照しているセルのコピー

    お世話になります。 以下のシートがあります。 [sheet a]    A     B        C      D     E 1 2004 2005 2006 2007 2008 2 =b!A2 =b!C2 =b!E2 =b!G2 =b!I2 3 10 15 16 4 11 4 12 30 20 9 2 5 =SUM(A3:A4) =SUM(B3:B4) =SUM(C3:C4) =SUM(D3:D4) =SUM(E3:E4) [sheet b] A B C D E  F G H I J 2004 2005 2006 2007 2008 1 あ1 い1 う1 え1 お1 か1 き1 く1 け1 こ1 2 あ2 い2 う2 え2 お2 か2 き2 く2 け2 こ2 ・・・・・・・・・ [sheet a]F列以降に入れるデータは、VBA(マクロ)を使って、別のブックから取り出しています。 (例) F1…=E1+1(E1の数式をコピー) F3,F4…任意の値(別のブックからコピー) F5…=SUM(F3:F4)(E5の数式をコピー) 1行目,5行目の場合は左のセルをコピーして数式を貼り付けると、列が自動的に列が変わりますが、2行目の場合は元のシートを1行おきに参照しているので、単純にコピーしただけでは正しい数式が入りません。 2行目の参照をVBAで作るには、どのようにしたらいいでしょうか。 よろしくお願いします。

  • Excel関数です。指定のセルから、n番目おきに数値を表示する方法につ

    Excel関数です。指定のセルから、n番目おきに数値を表示する方法につきまして。 Sheer1に元となる表   A    B    C    D 1 番号 開始年 周期 金額 2  1  2000    4   100 3  2  2005    3   200 4  3  2001    5   300 5  4  2004    2   400 ・ ・ Sheet2に反映させる表     A     B    C    D    E    F    G 1  番号  2000  2001  2002  2003  2004  2005  (←こちらの数値はyyyyで表した年です) 2  1 3  5 4  3 5  1 Sheet2 A列に任意の Sheet1 A列の番号を入力すると、 Sheet2 B2以降に Sheet1表の対応する年度から、 C列で指定した周期ごとにD列の金額が反映されるような表を作成したいと考えています。 例えば、Sheet1元表の「4」をSheet2 A列に入力すると、 2000年から2003年までは 0 2004年に 400 2005年に  0 以降、2年おきに400を表示。 無理やりE1からn年目(n番目)という項目を設け、開始年を考えずに E2 =IF((ROUND(E1/$C$2,0)-E1/$C$2)=0,1*$D$2,0)と Sheet1に作成は出来たのですが、  A   B    C   D   E   F ・・・・・ 1番号 開始年 周期 金額   1   2   3   4   5  6 2 1 2000  4   100 3 2 2005  3   200 4 3 2001  5   300 5 4 2004  2   400 ・ ・ 開始年度から、別シートでとなると どのように計算させて良いのかわかりません。 分かり難い質問で申し訳ございませんが、どうぞよろしくお願いします。

  • エクセルで数値が入力されているセルのアドレス取得

    エクセルである範囲の中から、数値が入力されているセルのアドレスもしくは範囲を取得したいです。      A列  B列  C列  D列  E列・・・ 1行目  20   10    2行目       11        15   10   3行目                25   30  範囲指定 A1:E3 結果 A1,B1,B2,D2,D3,E2,E3     もしくはA1:B2,D2:E3 という結果がでるとうれしいです。よろしくお願いします。

  • 指定した数だけデータをコピペする方法

    VBAの参考例を教えてください。 <シート1> A列に1から順に数字が入力されており、B列からE列まで数値のデータが入力されています。F列にはB列からE列にデータが入力されているセルの数をカウントした関数が入力されています。 <シート2> シート1のB~Eに入力されたデータが縦に入れ替えの上A列にコピぺされています。 ここで、シート1のA列の数値をコピーし、シート1F列に示されたデータ数分だけ、シート2のF列に縦に順々にペーストしていく方法をご教示ください。シート1のA列に入力された数値が最後の行にくるまでこれを繰り返します。 シート1 A B C D E F 1  a b c d 4 2  e d f   3 3  d e     2 ・ ・ ・ シート2 A B C D E F a         1 b         1 c         1 d         1 e         2 d         2 f          2 d         3 e         3 当方、VBAは全くの初心者です。急遽仕事で必要になってしまい、質問しました。 どうぞよろしくお願いします。

  • Excel関数 別シート参照現シートに合計値を表示

    お世話になっております。 Excel関数について質問させてください。 まず私の環境にExcelが入っておらず、OpenOfficeの3.3を代用しております。 カテ違いでしたらごめんなさい・・・。 【質問】 Sheet1のリスト(A列とする)に存在する文字列を Sheet2の複数列(D列、F列、H列)に一致する文字列毎の数値(E列、G列、I列)の合計を Sheet1の列(B列とする)に表示したい 【データ例】 ○Sheet1  A列 B列  A   3  B   10  C   6  D   0 ○Sheet2  D列 E列 F列 G列 H列 I列  A   1   G  0   A  1  C   2   H  2   B  2  B   3   A  1   C  4  E   4   B  5   E   5 【試した事】 まず一辺には無理だと思い、 Sheet1のB列に以下の関数を入れてみました =IF('Sheet2'.D1=A1;"a";"b") これで一見判定が出来てる風だったのですが、 Sheet1のB1列に"a"と出て、他全て"b"と出ました。 恐らく、順不同で比較項目が並んでいる所為だと思いますが、 この並び順を変更するわけにはいかず・・・。 そもそも、文字型と数値型が一つの関数に指定出来るのかも不明で・・・。 どなたかわかる方、ご教授お願いいたします。 わかりにくい例ですみません。 【補足】 私の個人的見解として、関数で出来る気がしないのですが、どうなんでしょう・・・? もし、関数で無理ならVBかJavaでゴリゴリ組みます。

  • Excel:決まったセルから常にあるセルの最終行の引き算

    添付画像のA7~E7列に数値を入力していき、F列にB~Eの合計がSUM関数により表示されます。 必要に応じ、8行目以降にデータは累積していきます。 D4セルにC4からF列の常に最終行の引き算の数式を入れたいと思っています。 イメージは D4=C4-(F列の最終行)というものですが、具体的にどういう数式をD4セルに当てはめればよいでしょうか? 御教示宜しくお願い致します。

  • 数値で示されたセルを表示させたい

    エクセルで、C1からG1の5つのセルに適当な数値が入っており、B1に1から5の数値を入れたときに、A1の箇所に、1だったらC1の、2だったらD1の、3だったらE1の、4だったらF1の、5だったらG1の数値を表示させようと思うと、どういった関数を使えば宜しいでしょうか?

  • Excel:数値が入力されている最終セルのひとつ前(上)を常に他のシートに自動表示

    http://okwave.jp/qa3845762.html にて、数値が入力されている最終セルを常に他のシートに自動表示させる方法をご教示いただきました。 この関数で自動表示させるセルのひとつ前を同じく自動表示させる方法はないでしょうか? リンク先の例では、 (Sheet2)A1=MAX(Sheet1!B:B) という数式でA3に2007/2/28、B3に100、A4に2007/3/31 B4が500、となった場合、Sheet2のA1は500、と表示され、Sheet2のB1は100と表示されるように出来ないか?ということです。 度々判りづらい質問で恐縮ですが、よろしくお願いいたします。

  • エクセル 他シート入力 自動表示

    エクセルの関数について教えてください。あまり詳しくありません。 シートが2つあります。1枚目のシートにデータがたくさん入っており、仮にデータを以下のとおりとします。  A   B    C    D イチロー 51  マリナーズ     松井   55  ヤンキース 岩村   1   レイズ ○○   ○   ○○○ D列はプルダウンでヒットor三振が選べるとします。 2枚目のシートは次のようになっているとします。  A(背番号) B(球団) C(選手名) このようなときに、1枚目のシートのD列プルダウンでヒットを選んだときにだけ、2枚目のシートにそのヒットを選んだ人のデータを自動的に表示できるようにできないでしょうか。 ご教示ください。

専門家に質問してみよう