• ベストアンサー

Excel関数について

「ある固定のセル」に入力されているものを「別のシートに日付ごと」に自動反映されるようにしたいのですが、どうすればよろしいでしょうか。ご教授の程お願い致します。 毎日「A1」に入力する 1日→「B2」に自動反映 2日→「B3」に自動反映 3日→「B4」に自動反映 ・ ・ ・ といった感じでございます。 色々調べてみたんですがどうにもこうにも分かりませんでした。 宜しくお願い致します。

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

  • ベストアンサー
  • FEX2053
  • ベストアンサー率37% (7987/21355)
回答No.7

#1,#3さんが言われるとおり、Excelの関数というのは、 「今現在入ってる数値で常時内容を洗い変えてしまう」 性格を持っています。 ですので、関数を使う以上、「昨日入力した数値は、どう やっても今日入力すると消えてしまう」んです。これは Excelの「仕様」で決まってることですから、どうすることも 出来ません。関数を使う以上、回避するには「入力する 場所を毎日変える」しかないのです。 どうしても 1.入力する場所は絶対に変えたくない 2.反映する場所は絶対に毎日変えたい ならば、VBAという「プログラム」を書かないといけません。 VBAを使うと、こういうことはできるんですが、かなり大変な 勉強が必要です。 頑張ってみるなら、この辺を。ただ、「毎日の日付で反映する 場所を変える」ためには、Offsetという発想を理解する必要が あり、結構上級なプログラムになります。 http://exvba.officehp.com/

nero1025
質問者

お礼

VBA頑張ってみます。 ご丁寧なご回答ありがとうございました!

その他の回答 (7)

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

ご利用のエクセルのバージョンが不明ですが,エクセルのオプションの数式(あるいは計算方法)で「反復計算」のチェックを入れておきます(必ず行う)。 B2に =IF(ROW(B1)=DAY(TODAY()),$A$1,B2) と記入し,下向けにコピー貼り付けておきます。 #勝手に手順を省略したり間違えると,出来ません。

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.6

毎日A1セルのデータが入力されたものを日付に応じてB列に表示させるというのでしたら関数で対応することはできません。次のようなマクロで行うことになるでしょう。 該当するシートのシート見出しで右クリックし「コードの表示」で表示される画面に次のコードを入力します。 Private Sub Worksheet_Change(ByVal Target As Excel.Range) Dim i As Integer On Error Resume Next If Target = Range("A1") Then i = Day(Date) + 1 Cells(i, 2) = Target.Value End If End Sub

  • aokii
  • ベストアンサー率23% (5210/22062)
回答No.5

Sheet1のA1セルに毎日入力するものとして、 Sheet2のA2セルから下に1,2,3...と入力し、 Sheet2のB2セルに、以下の式を入れて、下にドラッグコピーしてみてください。 =IF(DAY(TODAY())=$A2,Sheet1!$A$1,"")

  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.4

一例です。 仮にSheet1のA1を固定セルとすると、別シートのB2に=IF(DAY(TODAY())=ROW(A1),Sheet1!$A$1,"")を入力、下方向にオートフィル

  • chonami
  • ベストアンサー率43% (448/1036)
回答No.3

>昨日入力したB2に表示されている値をそのまま残して……と、いう事でしたらVBAでやることになります。 なるほど。 そう言われるとそうですね。売上入力みたいな感じがしてきました。

  • chonami
  • ベストアンサー率43% (448/1036)
回答No.2

B2に =IF(DAY(TODAY())=ROW()-1,$A$1,"") 下に必要分コピー で如何でしょうか?

  • mt2008
  • ベストアンサー率52% (885/1701)
回答No.1

今日(4/2)に入力した値がB3に表示され、それ以外のB2:B32のセルが空白になる……と、言うのでしたら関数でもできます。 しかし、昨日入力したB2に表示されている値をそのまま残して……と、いう事でしたらVBAでやることになります。 どちらでしょう。

関連するQ&A

  • EXCEL関数について

    EXCEL関数について Sheet1、A1~A1000セルに「1~10」までの値がランダムに入力されております。 数字は「グループ1」、「グループ2」・・・という意味です。 B列、B1~B1000セルには「1~4」までの値がランダム入力されております。 B列については、空白のセルもあります。 Sheet2、A1~A10セルに、「1~10」までの値、「グループ1」~「グループ10」までが順に入力されております。 ここで、Sheet2、B列~E列、それぞれの1~10セルを使用し、、 それぞれの「グループ」がSheet1にて「1~4」の値をいくつずつ選んでいるか算出したいのです。 「グループ1」について、「1」のカウントはB1セル、「2」のカウントはC1のセルに返します。 同じように「グループ2」はB2~E2のセルに、「グループ3」はB3~E3のセルに値を返したいのです。 「COUNTIF」等の関数でいろいろと試してみたのですがうまく反映されません。 拙文乱文、大変恐縮ですが、ご教示頂きたく何卒宜しくお願い致します。

  • 【Excel 関数】 INDIRECT関数のオートフィルについて

    INDIRECT関数のオートフィルについて、昨日より色々調べましたが 解決できませんでしたので質問させて頂きます。 宜しくお願いします。 【状況】 ・Bookの構成は 一番左に「集計」シート、その横に「Sheet1」「Sheet2」・・・  と続いており、それぞれ数字のデータが入っています。 ・「集計」シートには、  「A1」セルに シート名を入力する欄、  「B1」セルに「=INDIRECT($A$1&"!B1")」  とデータを反映させる式が入っています。 この状態で、「B1」セルを、 横方向(横)にオートフィルすると ・・・ 「C1」「D1」「E1」 縦方向(下)にオートフィルすると ・・・ 「B2」「B3」「B4」 とそれぞれのデータを反映させるには、元の 「=INDIRECT($A$1&"!B1")」 をどのように変えればよろしいでしょうか? ご教示頂けましたら幸いです。 宜しくお願い致します。

  • EXCEL関数について

    EXCEL関数について EXCEL2003を使用しております。 お知恵を拝借願います。 Sheet1、A列、A2~A100セルに「1~10」の数字がランダムに入力されています。 数字は「グループ1」、「グループ2」・・・「グループ10」という意味です。 Sheet1、B列、A2~A100セルに「1~20」及び、「OK」、「NG」がランダムに入力されています。 Sheet2、A列、A2~A21セルに「1~10」までの数字(グループ)が順に入力されており、 Sheet2、1行目、B1~W1セルに、「1~20」及び「OK」、「NG」が順に入力されております。 ここで、Sheet2のB2セルに、Sheet1にて「グループ1」は 「1」をいくつ選択しているかを返す式を入れたいのですが、 SUMIF?COUNTIF?等でいろいろと試してみたのですが、うまくいきません。 同じように、C2セルであれば、「グループ1」は「2」をいくつ選んでいるか。 W5であれば、「グループ4」は「NG」をいくつ選んでいるかの式を入力したいのです。 拙文乱文、大変恐縮ですが、ご教示頂きたく何卒宜しくお願い致します。

  • Excel2007の「塗りつぶし」について

    良い方法はないかと考えましたが、解決案が見つからず、 質問させて頂きました。 ※使用ソフトはExcel2007です。 【シートA】で「入力」「塗りつぶし」をした内容を、そのまま同ブックの【シートB】に 反映させたいのですが、良い方法はございませんでしょうか? 例えば…【シートA】のB2のセルに『会議』と入力し、赤色で塗りつぶしをする。 その内容をそのまま自動的に【シートB】のB2のセルに反映させる。といった 感じです。 文字の入力は、「=」を使って何とか出来るのですが、塗りつぶしが上手く出来ません。 「条件付き書式」を【シートA】に設定し、同じ条件を【シートB】にも設定したので、 条件にあてはまる入力内容は同じように塗りつぶされますが、 条件外の入力を【シートA】にした場合は、当然の事ながら、塗りつぶしは都度設定 しなければならず、【シートA】【シートB】、個々に設定しなければいけません。 今回のブックは、複数の人たちで共有するので、 【シートA】と【シートB】を作業グループにする方法は、出来れば避けたいのですが…。 何か、良い方法はございませんでしょうか…? 説明が上手く出来ず、申し訳ございません。 良い方法を教えて頂ければ、幸いです。

  • EXCEL:何の関数を使えば良いか教えてください

    シート1にB2から順に1名ずつ名前が入力されています。 シート2のB2にシート1のB2にある名前を反映させ、 シート3のB2にシート1のB3にある名前を反映させ、 シート4のB2にシート1のB4にある名前を反映させ、 というのを順に続けていきたいのですが、何か良い方法はありますでしょうか? ちなみにあわよくばシート名も各シートのB2セルの名前にしてしまいたいです。 うまい方法が思いつかず、今のところ手打ちでおこなっているのですが、「手打ちならエクセルでなくてもよくない?」と悶々としております。

  • Excel関数のデータ参照について教えて下さい。

    Excel関数のデータ参照について教えて下さい。 営業店の資料を作成していますが、次のような関数はどうするのでしょうか。 A1セルにID,B1に営業店と課を反映する場合で、別シートにあるIDをA1に入力するとB1に対応した 営業店と課が表示されるようには。 (例)  sheet1     A     B 1 100200 東京支店販売課 2 100201 新宿支店営業課   sheet2    A     B 1 ID 営業所担当課 2 100200 東京支店販売課 3 100201 新宿支店営業課 通常はVLOOKUP関数等使用すると思いますが、参照セルを表示せずに、ダイレクトに入力したいのですが。 sheet2のA2のIDをsheet1のA1に入力するとsheet2のB1の表示がsheet1のB1に反映させる方法です。    よろしくお願いします。

  • EXCEL関数を教えてください

    EXCELの関数を教えてください。 sheet1のA1セルに 入力規制で「東京・埼玉」と選べれるようになってます。 sheet2のA1セルに「東京」B1セルに「埼玉」と入力してあります。 sheet1のA1セルで、「東京」を選択した場合、sheet2のA2のセルに「1」と出るようにしたいです。 もし、sheet1のA1セルで「埼玉」を選択した場合は、sheet2のB2のセルに「1」と出るようにしたいです。 説明不足でしたら補足しますので、どなたか教えてください。 お願いいたします。

  • Excel2003 関数を教えてください

    Excel2003にて作業しております。 ワークシートが県毎に分かれており、以下のような入力をしております。 北海道(シート1) A   B  C   D   E   F ―――――――――――――― No. 件数 ・・・ 担当  日付  ・・・ 1   60  ・・・ 佐藤   6/2  ・・・ 2   40  ・・・ 鈴木   6/6  ・・・ 3   70  ・・・ 佐藤   6/5  ・・・ 4   50  ・・・ 田中   6/6  ・・・ 青森県(シート2) A   B  C   D   E   F ―――――――――――――― No. 件数 ・・・ 担当  日付  ・・・ 1   30  ・・・ 加藤   6/3  ・・・ 2   20  ・・・ 田中   6/4  ・・・ 3   50  ・・・ 佐藤   6/3  ・・・ 4   10  ・・・ 田中   6/4  ・・・ 各担当者の合計件数・日付などを知りたいのですが、何かよい関数はないでしょうか? 以下のように担当者毎に別シートへ反映できれば理想的です。 A   B  C   D   E   F ―――――――――――――― No. 件数 ・・・ 担当  日付  ・・・ 1   60  ・・・ 佐藤   6/2  ・・・ 3   70  ・・・ 佐藤   6/5  ・・・ 3   50  ・・・ 佐藤   6/3  ・・・ できなければ各担当者の合計件数だけでも出したいのです。 ご教示ください。よろしくお願いいたします。

  • EXCEL: 日付を残す関数

    どなたか教えてください。 伝票明細に度々同じような編集を加えるので、自動的に編集した日付を履歴として残すようにしたいのです。 ↓ 明細行の一番左側(A5)に、プルダウンリスト(入力規則)から「入庫」または「出庫」を選ぶと、自動的にとなりのセルにその日の日付が入力されるようにする。 私が考えたのは、次のとおり。 (B5)にひとまずToday関数を入れる。→(C5)に次の関数を入れる。 C5=IF(OR(A5="入庫",A5="出庫"),B5,"") けど、これじゃ値ではなく数式をもってきちゃうので、別な日に開くと日付が更新されてしまうのです。 どうすればよいですか?よろしくお願いします。

  • エクセル 関数の質問

    いうも回答して頂きありがとうございます。 入力用シートの A1セルに a又は b又は c ・・・ と入力 A2セルに a又は b又は c ・・・ と入力 A3セルに a又は b又は c ・・・ と入力 みたいな感じに入力されていたとします。 で、他の設定用シートの B1セルに a に対応した時間が入力 B2セルに b に対応した時間が入力 B3セルに c に対応した時間が入力 上記の時 入力用シートのC1にA1~A?までの時間の合計を出したいのですが どのような関数を使えばよろしいのでしょうか? 御指導の程、宜しくお願い致します。

専門家に質問してみよう