• 締切済み

エクセルの関数を教えてください。

エクセルの関数を教えてください。 sheet01に 《基本ナンバー》《グループナンバー》《入力日》が入力された基本データがあり、 sheet02に sheet01から抽出されたグループの代表データがあります。 sheet03において、 sheet02で選ばれたグループ代表データに、 sheet01のグループ番号内で一番古い入力日を抽出して、 貼り付けたいのです。なんという関数が良いですか? よろしくご教授のほど、お願い申し上げます。

みんなの回答

  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.3

 回答番号ANo.2です。  先程の回答の数式に関してですが、Excelのバージョンによっては、日付データとして取り扱う事が出来る日付の範囲が、西暦9999年12月31日まで対応していないものもあるのですが、その場合には、先程の数式では、"9999/12/31"の部分を日付として扱う事が出来ない事が原因で、エラーとなってしまう恐れがあります。  ですから、念のために、"9999/12/31"の部分を、3000000に置き換えて、次の様な数式とした方が良いかも知れません。 =IF(OR(COUNTIF(sheet01!$B:$B,sheet02!$A$1)=0,COUNT(sheet01!$C:$C)=0),"",3000000-SUMPRODUCT(MAX((3000000-sheet01!$C$2:INDEX(sheet01!$C:$C,MATCH(9^9,sheet01!$C:$C)))*(sheet01!$B$2:INDEX(sheet01!$B:$B,MATCH(9^9,sheet01!$C:$C))=sheet02!$A$2))))

  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.2

 今仮に、基本データーの表の中で、「基本ナンバー」と入力されているセルが、sheet01のA1セルであり、sheet02において「選ばれたグループ代表データのグループ番号」が表示されているセルが、sheet02のA1セルであるものとします。  その場合、sheet02で選ばれたグループ代表データの中で一番古い入力日は、次の様な関数で、自動的に(「Ctrl+Shift+Enter」の操作は不要)求める事が出来ます。 =IF(OR(COUNTIF(sheet01!$B:$B,sheet02!A1)=0,COUNT(sheet01!$C:$C)=0),"","9999/12/31"-SUMPRODUCT(MAX(("9999/12/31"-sheet01!$C$2:INDEX(sheet01!$C:$C,MATCH(9^9,sheet01!$C:$C)))*(sheet01!$B$2:INDEX(sheet01!$B:$B,MATCH(9^9,sheet01!$C:$C))=sheet02!A1))))

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

>sheet01のグループ番号内で一番古い入力日を抽出して貼り付けたい Sheet1のB列にグループナンバー,C列に入力日 Sheet2のA1セルに代表のグループナンバー Sheet3のC1に =MIN(IF((Sheet1!B1:B999=Sheet2!A1)*(Sheet1!C1:C999<>""),Sheet1!C1:C999)) と記入し,コントロールキーとシフトキーを押しながらEnterで入力 さらに右クリックしてセルの書式設定の表示形式でユーザー定義を選び yyyy/m/d;;; と設定を取り付けておきます。

関連するQ&A

  • エクセルの関数について教えてください。

    エクセルで1つのデータがあります。 1つめのシートには、   1.コード番号   2.名称   3.郵便番号   4.住所   5.電話番号 のそれぞれのデータが入力されています。 2つめのシートには、   1.コード番号   2.数量 が入力されています。 エクセルの関数を使い、2つめのシートのコード番号の横に、1つめのシートの『名称』や『郵便番号』、『住所』を表示させたいのですが、どういうふうに設定すればよいかわかりません。 『データベース』という関数を使うことはわかるのですが、その先、どう指定すればよいのかわからないのです。 エクセルにくわしい方、教えてください。 よろしくお願いいたします。

  • Excelでの関数

    こんにちは、お願いします。 販売管理の入力データをExcelへ移して一覧表を作成したいと思います。 同じコードNO.のデータが何件もある中で、同コード1件だけの行を抽出して表を作成する方法があるでしょうか? 並び替えや、関数によるSheet間のコピーなど… 関数では検出する値はセル単位のみですか?コードを元に行全体を選択してコピーや移動などできるのでしょうか? うまく説明できないので内容が良くわからないかもしれませんが、すみません。 何か良い方法があれば是非教えてください。 宜しくお願い致します。

  • エクセルの関数?

    自分の力では解決できませんでしたのでお力添えください シート1にはお客様への送付状 シート2には郵便番号・住所・お客様名 のエクセルがあります。 シート1のあるセルにお客様の登録ナンバーを入力するとシート2から自動的に「郵便番号・住所・お客様名」がシート1に反映するような関数を知りたいのです 宜しくお願い致します

  • エクセルでの関数

    エクセルでの関数 関数を使ってデータ処理をしようと思っています。 シート1の列Dにあるデータと同じデータがシート2の列Bの中にあれば、シート1の列Sにαを入力し、無ければβを入力します。 ※シート2の列Bに無ければブランクを入力します。 このような関数を作るには、シート1の列Sに何を入力したら良いでしょうか。 お分かりになる方、ご教示をお願いします。 宜しくお願い致します。

  • エクセル関数について

    添付画像のようなデータ一覧を作成し、別シートでは日程毎申込者一覧、宿泊日別一覧を作成する予定です。 今までは、別シートへの抽出をVLOOKUPを使用し、受付番号で全てが出てくるという方法で、 いちいち手入力していました。 これを、参加日のみを打ち込めば対応する参加者が反映する・・という関数はあるのでしょうか? 上司より得た知識では、ツアー実施日が一日のみだったので、読み解くことができたのですが、 私の場合ツアー実施日が複数あるので困っています。 ご教授いただければと思います。 宜しくお願い致します。

  • エクセル関数を使って、ランダム抽出をしたいです

    エクセル関数を使って、ランダム抽出をしたいのですが どの関数を使用すればいいのかわからないのです。 現在、1つのシートにいろいろなデータが入っているのですが、 D列のデータを使い、そのデータをランダムに25件抽出したいのです。 よろしくお願い致します。

  • エクセル関数について

    エクセルでデータベースを作っています。別のシートからデータを抽出して合計を出すというものなのですが、どうも関数がうまくいきません。 別のシートには日付・現場名・費目・時間・金額などが入力されています。(オートフィルタが使われていました)そしてデータベースには現場名と費目から金額の合計を抽出したいのですが、どんな関数を使っていいのか分かりません。 =SUMPRODUCT((条件1)*(条件2)*....(集計する数値)) =SUMPRODUCT((入力!$C$3:$C$9810=Sheet1!$B3)*(入力!$G$3:$G$9810=Sheet1!C$1)*(入力!$K$3:$K$9810)) というものを使っていたのですが、別シートのデータが入力されていない所まで範囲を指定するとエラーになってしまいます。 =sumifだとエラーにならないのですが、私の技術では1つの条件(現場名だけ)しか抽出、合計できません。 入力されていない所を範囲指定してもエラーにならなくて上の事が出来る関数はないでしょうか、よろしくおねがいします。

  • エクセルの関数で教えてください!

    エクセルの関数で教えてください! 200名程の氏名が入力されているデータをシートAとして 別シートBにシートA内に存在する氏名を入力したら1 シートAに存在しない名前を入力したら0 となるようにするにはどんな関数を使えばいいのでしょうか? よろしくお願い致します。

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

    エクセル関数についてご教授ください。 添付図のようなデータ入力シートがあり入力者は山田、太田、斉藤の3名が入力します。 今、山田さんが7/29日の数学の列の10:40-12:10行のセルに「伊藤」と入力し、太田さんが同日のEnglishの列の13:00-14:30行のセル に「伊藤」と入力し、さらに斉藤さんが同日の国語の列の14:40-16:10行のセルに「伊藤」と入力した場合にsheet2(シート名:伊藤)の表に図で示すようなデータを自動で入力させたいと考えています。 sheet1の日付は横に1週間分あります。同様にSheet2(伊藤)にも同じ日付で1週間分あります。 このようなことは可能でしょうか? エクセル関数初心者で非常に困っています。 どうかご指導いただきたいです。

  • エクセル関数の質問です。エクセル2007を使っています。

    エクセル関数の質問です。エクセル2007を使っています。 シート1にたくさんの数値のリストがあり、シート2に別の順序でデータを持ってきた場合です。 例)シート1 A行にリファレンスナンバー901から1000まであるとします。1の列にたくさんの項目があります。 No.  面積積   価格   建築年  建築月 901   1000   10000   2007   1 902   15000   20000   2005   5 903   2000   500000   1998   9 904   3000   600000   1990   4 905   5500   100000   2010   12 ... シート2にVLOOKUPで、ランダムに並んだリファレンスナンバーに並べ替えるのですが、列番号を入れ直すのが面倒です。というのは、項目が変わるにつれ、左クリックでドラッグ(?)しても列番号は最初の“2”のままなので、3,4,5と項目ごとに一つ一つ変えなければならないのです。 何かいい方法はないでしょうか? シート2 No.   面積   価格   建築年   建築月 905   =VLOOKUP(G2,$A$2:$E$6,2,0) よろしくお願い致します。

専門家に質問してみよう