• ベストアンサー

エクセルの作成(関数)について

D5に担当組、F5、F6、F7、F8に氏名を入力する表を作成します。 D5は、組名の1、2、3のリストが設定されています。 各組は40名ほどおり、1班~4班の10名ずつの4班に分けております。 例えば、D5にリストで1を選んだ場合、F5にリストで1組1班の10名、F6にリストで1組2班の10名、F7にリストで1組3班の10名、F8にリストで1組4班の10名の名前だけ表示させたいのです。 また、2組を入力した場合も、同じく2組の各班の氏名をリストに出したいと思います。 わかりづらいと思いますが、よろしくお願いします。

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

  • ベストアンサー
  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.1

こんばんは! 一案です。 ↓の画像のように別Sheet(今回はSheet2)に表を作成しておきます。 (各組4列10行に収めています) Sheet2のA1セルは =IF(Sheet1!D5="","",Sheet1!D5) という数式を入れておき、 Sheet2のB2セルに =IF($A$1="","",INDEX(G:G,($A$1-1)*10+ROW())) という数式を入れ、右方向に4列分・行方向に10行分オートフィルでコピーしておきます。 これでSheet1のD5セルに入力された組がこの表に表示されます。 Excel2010以降であれば入力規則のリストで別Sheetが直接指定できますので、 Sheet1のF5セル → 入力規則 → リスト → 元の値の欄に =Sheet2!$B$2:$B$11 としてOK! 同様にF6セルも =Sheet2!$C$2:$C$11 といった具合にF8セルまで設定して完了です。 ※ Excel2007以前のバージョンでは別Sheetを直接範囲指定できなかったと思いますので Sheet2の各列を名前定義します。 Sheet2のB2~B11セルを範囲指定 → 名前ボックス(画面左上のB2とセル番地が表示されているところ)の B2を消して 仮に 1班 と入力しEnter これでSheet2のB2~B11セルが「1班」と名前定義あれました。 同様に各列を 2班・3班・4班 と名前定義しておきます。 そしてSheet1のF5セル → リスト → 元の値の欄に =_1班 としてOK 同様に各列を _2班 _3班 _4班 と名前定義して完了です。 ※ 注意点 ※  名前定義の名前の中に英数字がある場合はエラーとなることがありますので、 敢えて、1班 の前に アンダーバーを入れています。 長々と失礼しました。m(_ _)m

morito_55
質問者

お礼

ありがとうございます。 完璧です!助かりました。 もう一つお聞きしたいのですが、氏名などのデータは、Sheet3に作るとして、Sheet2もSheet1と同じようにするには、どのようにしたら良いのでしょうか。 よろしくお願いいたします。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (2)

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.3

No.1です。 >氏名などのデータは、Sheet3に作るとして、Sheet2もSheet1と同じようにするには、 >どのようにしたら良いのでしょうか。 に関してですが、Sheet2を画像のSheet1のようにして組・班のデータをSheet3にしたい! という解釈でよろしいでしょうか? もしそうであれば前回の数式のSheet1・Sheet2の部分だけの変更で大丈夫だろうと思います。 ただ、No.2のkeithinさんが回答されていらっしゃるように 全ての組・班を「名前定義」しておけば、 Sheet名に関係なく同じブック内であればどのSheetでも対応できます。 keithinさんの方法で名前定義を設定すれば、F5~F8それぞれのセルでリスト設定する必要はなく、 一括でリスト設定が可能です。 F5~F8セルを範囲指定 → データの入力規則 → リスト → 元の値の欄に =INDIRECT("_"&D$5&"_"&ROW(A1)) これでF5~F8セルが一度でリスト設定されると思います。m(_ _)m

全文を見る
すると、全ての回答が全文表示されます。
  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.2

1組1班の10名を記入したセル範囲を選択 添付図のように、名前ボックスの中に _1_1 と必ずこの通りに記入してEnterし、名前を付けます _だとか、数字の半角と全角だとか、間違えないようによく気を付けて作業します 1組2班のセル範囲には同様にして _1_2 と名前を付け 1組3班のセル範囲には同様にして _1_3 と名前を付け 2組1班のセル範囲には同様にして _2_1 のように、それぞれ名前を付けておきます イチイチ全部書きませんが、他の組他の班のセル範囲にも全部名前を付けます 添付図は見やすいように並べただけなので、どこにどう名前が置いてあっても別に構いません。 簡単のためD5に仮に1を記入しておき、 F5セルの入力規則は  種類 リスト  元の値に =INDIRECT("_"&D5&"_1") F6の入力規則は  種類 リスト  元の値に =INDIRECT("_"&D5&"_2") と設定 他のセルも同様に設定します。

morito_55
質問者

お礼

ありがとうございました。 表を作ることができました。 感謝します。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • エクセルの作成について

    セルD5に氏名、E5に担当班を入力する表を作成します。 E5は、班名の東、西、南、北のリストが設定されています。 各班は10名ほどいます。 例えば、E5にリストで東を選んだ場合、D5にリストでその東班10名の名前だけ表示させたいのです。 E5で西を選んだ場合は、D5に西班の10名だけを表示させたり、E5で選んだ班のメンバーの名前だけD5にリストで表示させるにはどうしたら良いでしょうか。 D5に全ての名前をリストにすれば良いのですが、人数が多く選ぶのに時間が掛かってしまいますので、E5に表示させた班のメンバーだけD5にリストで表示させたいのです。 よろしくお願いします。

  • excelの関数のこと教えてください

    excelで表を作成しています(名簿です)名前の数は数百名になる予定です、項目欄には氏名、生年月日など数項目になると思います。 項目の欄の一つに「死亡欄」を設定し死亡年月日を入力したいと思います、そこで教えていただきたいのですが死亡年月日を入力したらその人の名前の項目の字の色が例えば赤色に変えることexcelなら出来のではと思ったのですがどうでしょうか? 関数の本など調べたのですがよく分かりません、どなたかアドバイスお願いいたします。

  • Excel 2003 関数 教えてください

    使用するのはExcel 2003です。 マクロは使用せず関数で実行したいです。 お詳しい方教えてください。 1シート目に元となる表があります。 B列~D列までにあらかじめクライアント情報が入っており、クライアント情報の数の分、行数があります。 A列には、担当者名の入力欄を設け、入力規則のリストで担当者1~5まで選択できるようにしておきます。    A         B              C             D    担当者名    クライアント企業名   クライアント部署名   備考   1            ○○○          △△△          ***    2            ○○○          ◇◇◇          +++      3            ×××          ■■■          ---    2シート目以降、各シートは担当者1~5別のシートになっています。 2シート目 担当者1 3シート目 担当者2 4シート目 担当者3 5シート目 担当者4 6シート目 担当者5 こちらのシートには、1シート目と同じ項目がA~D列まで並んでいます。 A列にはあらかじめそのシートの担当者名が入っています。 全シート、1行目が項目、2行目から下がデータ欄です。 1シート目のA列で担当者名を選択すると、選択された担当者シートのクライアント情報欄(B~D列)に、1シート目該当行のクライアント情報が、反映されるようにしたいです。 その際、2行目から空白行を作らずに反映していきたいです。 作業用の列やシートを作成しても構いません。 マクロを使用したくない理由は、この表を配布する先の使用者のExcelが2003と2013で混在しているためです。 どなたかお知恵をお貸しいただけると助かります。 どうぞよろしくお願いいたします。

  • エクセルで関数の検索方法について

    エクセルの関数を利用した検索方法について分からないところがありますので教えてください。 キャンプの参加者リスト作成中です。  A1、A2・・・には参加者の会員番号の数字が入っています。B1、B2・・・には氏名が入っています。C1、C2・・・にはキャンプの班名(A、B・・)が入っています。  次に、会員番号を入力し、VLOOKUP関数で氏名(D1セル)及び班名(D2セル)を表示させます。仮にこの人の班名がA班だとすると、この人以外のA班の人の氏名をE1、E2・・・に表示させるにはどうしたらいいでしょうか。 関数の詳しい方よろしくおねがいします!! もし関数では厳しいようならVBAでもいいです。

  • 【エクセル】月間個人別集計表の作成方法ほか

    ここ数日いろいろ検索していたのですが、ビビッっとくるものがなく、申し訳ありませんが、どなたか御教授ください。 1 やりたいこと   超過勤務の計算を個人別に集計したい。   データの元ネタはCSVで毎月出力されるため、   これをエクセルに貼り付け、別シートに集計表を作成したい。 2 具体的には ●レコード数(500件程度/月)   A   B   C   D   E   F    I 1 名前 社員ID 部署ID 担当名  日付  超勤125 超勤150 2 氏名1 123  1234  販売  2008/7/3 240   100 3 氏名1 123  1234  販売  2008/7/4 100    0 4 氏名1 123  1234  販売  2008/7/5 150    0 5 氏名1 123  1234  販売  2008/7/6  30    0 6 氏名2 456  7890  流通  2008/7/1 240   190 7 氏名2 456  7890  流通  2008/7/10 240   110 8 氏名2 456  7890  流通  2008/7/11 150    90 9 氏名3 987  7890  流通  2008/7/3 130   100 ※超勤125、超勤150のデータは分単位である。 ●作りたい集計表(別シートに作成することを想定) 名前  社員ID 部署ID 担当名  超勤125 超勤150 氏名1  123  1234  販売  9(520)  2(100)   氏名2  456  7890  流通  8(480)  5(300) 氏名3  987  7890  流通  2(130)  2(100) ※分単位を時間単位(30分以上切上げ)で集計したい。 ※超勤125、超勤150のカッコ内データは便宜的に表示したが、 本来不要な表示である。 3 ソフトのバージョン   WinXp Exel2002 4 その他 (1)ピボットテーブル ピボットテーブルをにわか仕込みで勉強しましたが、 支給割合(125,150)ごとにうまく集計できませんでした。 氏名の隣にIDや担当名を表示することもできなかったです。 (2)毎月、同じ工程を踏む(CSV→エクセル貼り付け→集計表作成)ので、マクロを使用したいと考えています。が、初心者です(泣)。申し訳ありませんが、どなたか助けてください。 (3)部署ID別、担当別一覧表も併せて作成したいです。  

  • エクセル2003関数について

    対戦結果表を作っています。エクセルの関数を入れ込みたいと思いますので、御知恵をお貸しください。仮に氏名A(B1セル)と氏名B(D1セル)が戦い、氏名A(B1セル)が2点先取し(C1セル)に2を入力、氏名B(D1セル)が1点を取り(E1セル)に1を入力しました。勝者は氏名Aの為、関数によって(F1セル)に自動的に氏名Aを表示させたいのです。パターンは2対1,1対2,0対0の3通りです 0対0は空白状態にしたいのです。困っています助けてくださいお願いします。

  • エクセルについて

    WinXPのエクセル2000を使っています。 勤務表の休みの数を調べるために下記の表を作りました。 B C D E F G 1班 2班 3班 4班 5班 6班 上記の表でA2に1と入力したら自動でB2に1の数字が、A3に2と入力したら自動でC3に1の数字が、A4に3と入力したら自動でD4に1の数字が、でるようにするには何かよい方法はありませんか?教えて下さい。マクロか関数を使えばできそうなんですが・・・

  • Excel関数 表の中のデータを検索して表示したい

    検索範囲が列や行の一方向でないため行き詰まってしまいました。 いい式の組み立てがありましたら、教えていただけますようお願いいたします。 クラスのリスト A B C D 1 1組 田中 吉田 織田 伊藤 2 2組 坂本 神奈 千葉 小笠原 3 3組 浜田 金沢 岡本 多田 A列の氏名を元にB列にクラスを表示したい A   B 多田 3組 伊藤 1組 ・ ・ ・ 検索のキーとなる氏名に重複はありません。 =INDEX($B$1:F3,IF(COUNTIF($B$1:$F$3,A6),ROUND(MOD(SUMPRODUCT(($B$1:$F$3=A6)*(ROW($B$1:$F$3)+ROW($B$1:$F$3)/1000)),1)*1000,),""),1) 該当の文字が入力されている行番号を検索してINDEXをつかって表示する式をつくりました。 しかし、リストの表が1行目から作成されていないとエラーになってしまいます。 なにかいい式はないでしょうか?

  • エクセル関数を使いたいのですが・・・。

    読んで頂きありがとうございます。 現在、Microsoft Excel2000を使って表を作成しています。 その中で、教えていただきたいのが、 ●A列には氏名、B列には電話番号、C列には会社名、D列にはカテゴリー(○、×、△など)の表があります。 ●D列のカテゴリーが×のとき、A列の氏名のセルの背景に色がつく。 というようなことをしたいのですが、うまくいかなく、困っています。 はじめは、条件付き書式でやろうとしていたのですが、うまく反映されないし、違うセルの色が変わったりなどしてしまい、行き詰っています。 初歩的なことであれば、大変申し訳ないのですが、どうかお教え願えませんでしょうか?

  • エクセルの関数について

    エクセルの関数について 入金管理表(例1)を作成し、顧客を入力すると、別に作成してあるリスト(例2)を見て同じ顧客名の支払い日を入金管理表のE列に表示させたいのですが、どんな関数式を用いれば可能でしょうか? どなたか教えてください。よろしくお願いいたします。

このQ&Aのポイント
  • Apple Watch用チタンバンド (49/45/44/42mm) AW-49BDTITSVはシリーズ8に対応していますが、シリーズ9には非対応ですか?
  • Apple Watch用チタンバンド AW-49BDTITSVはシリーズ8に使えますが、シリーズ9には使えないのでしょうか?
  • Apple Watch用チタンバンド AW-49BDTITSVはシリーズ8には対応していますが、シリーズ9には非対応なのですか?
回答を見る

専門家に質問してみよう