人気マンガがだれでも無料♪電子コミック読み放題!!

   EXCLE2007にて
下記表のように名簿から出席者のみの表を作成したのです。
     
     1 会員1 出         1 会員1
     2 会員2            2 会員5
     3 会員3            3 会員6
     4 会員4            4 会員9
     5 会員5 出
     6 会員6 出
     7 会員7
     8 会員8
     9 会員9 出
    10 会員10

        つたない説明ですがよろしくお願いたします。

A 回答 (5件)

ご希望のデータを抽出したいなら、フィルタの機能を利用されることをお勧めします。



「データ」「フィルタ」で出欠の欄の▼をクリックして「出」だけにチェックを入れます。

該当データが抽出された状態でデータ範囲をそのままコピーし、新規シートに貼り付けます。


もし関数で表示させたいのであれば(抽出対象が文字列の場合)、配列数式がすでに提案されていますが、以下のような数式の方がデータ位置を変更する必要が無いのでわかりよいかもしれません。

=INDEX(Sheet1!A:A,SMALL(INDEX((Sheet1!$B$2:$B$100<>"")*1000+ROW($B$2:$B$100),),ROW(A1)))&""
    • good
    • 0
この回答へのお礼

     
      みなさんに色々なアドバイス頂きありがとうございます、
       どなたからのやり方も自分に取ったらベストアンサーです、
       いろんな関数の使い方を知らない自分には宝の持ち腐れ状態です。
        これからもよろしくお願いいたします。
        

お礼日時:2010/11/25 11:30

 


並び替えの方法ですか....................:-)
元の状態で並び替えのアイコンを押してください。
 
「会員名簿から出席者のみ一覧表の作成」の回答画像5
    • good
    • 2
この回答へのお礼

お礼が遅くなり申し訳ありません。
    アイコンクイックでできるのですね。
        初歩的なことでした。
               有難うございます。

お礼日時:2010/11/25 11:21

一応、作業列案も紹介しておきます。


       A   B   C
     1 会員1 出         1 会員1
     2 会員2            2 会員5
     3 会員3            3 会員6
     4 会員4            4 会員9
     5 会員5 出
     6 会員6 出
     7 会員7
     8 会員8
     9 会員9 出
    10 会員10
C列に =IF(B1="出",ROW(),"")
と入れて下までコピーします。
出席者の右に その行番号が出ます。

抽出するセルには
=INDEX(SHEET1!A:A,SMALL(SHEET1!C:C,ROW(A1)))
と入れて下へコピーしてみてください。
エラー処理はしていませんが、式の意味を理解するのに便利かと思います。
関数を説明しておきますが

ROW(A1) は単にそのセル(A1)の行番号ですので 1です
下へコピーすると
ROW(A2) となるので 2 、3・・と数字を増やしておくためのものです。
つまり
1行目は =INDEX(SHEET1!A:A,SMALL(SHEET1!C:C,1))
1行目は =INDEX(SHEET1!A:A,SMALL(SHEET1!C:C,2))
1行目は =INDEX(SHEET1!A:A,SMALL(SHEET1!C:C,3))
・・・ということです。
更に SMALL(SHEET1!C:C,1)) の部分を表示してみるとわかりやすいです。
=SMALL(SHEET1!C:C,ROW(A1))
と入れて下までコピーしてみてください。
参加者の行の番号が上から順にでるはずです。
この結果を利用して 名前の部分をINDEX関数で表示しています。
エラー処理は 他の方を参考にIF文を最初に入れます。
がんばっててください。
ここで出来た式を 作業列の部分まで取り込んで 作業列なしで実行しようとすると
Tom04さんの配列関数となります。
    • good
    • 0
この回答へのお礼

          
      みなさんに色々なアドバイス頂きありがとうございます、
       どなたからのやり方も自分に取ったらベストアンサーです、
       いろんな関数の使い方を知らない自分には宝の持ち腐れ状態です。
        これからもよろしくお願いいたします。

お礼日時:2010/11/25 11:30

こんばんは!


色々方法はあるかと思いますが・・・
一例です。

↓の画像でSheet2のA2セルに
=IF(COUNTIF(Sheet1!$B$2:$B$1000,"出")<ROW(A1),"",INDEX(Sheet1!$A$2:$A$1000,SMALL(IF(Sheet1!$B$2:$B$1000="出",ROW($A$1:$A$999)),ROW(A1))))
これは配列数式になってしまいますので、
A2セルにコピー&ペーストしただけではちゃんと表示されないと思います。
A2セルに貼り付け後、F2キーを押す、またはA2セルをダブルクリック、または数式バー内で一度クリックします。
編集可能になりますので、Shift+Ctrlキーを押しながらEnterキーで確定。
数式の前後に{ }マークが入り配列数式になります。

このA2セルをオートフィルで下へコピーすると
画像のような感じになります。

参考になれば良いのですが。m(__)m
「会員名簿から出席者のみ一覧表の作成」の回答画像2
    • good
    • 0
この回答へのお礼

   
      tom04様
      早々のアドバイス有難うございます。
      わー関数が8ケも複合されてますね
       、自分はその中でIF,COUNTIF文しか使った事がありません。
       アドバイスと関数辞典を見ながら悪戦苦闘し自分なりに会得したいとおもいます。
          有難うございます。
       

お礼日時:2010/11/23 09:11

 


「出」の列で並びかえれば出席した会員だけが集まるのでその範囲を別のシートにコピーします。

並び替えた状態
  
「会員名簿から出席者のみ一覧表の作成」の回答画像1
    • good
    • 0
この回答へのお礼

       V4330様    
   早速のアドバイス有難うございます。
    できれば並び替えの方法を教えて頂ければ幸いですが
        わからないのでよろしくお願いいたします。

お礼日時:2010/11/23 09:01

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qエクセルで参加者を管理 出席者の数(○人)を計算で出るようにしたい

いつもお世話になっております。

パーティの幹事をすることになり、100人を超える参加者の出欠を管理します。
自分で作ったエクセルで管理しているのですが、
出欠の欄に「参加」あるいは「○」を入力した数が、一つの枠に「合計」として計算されるように設定はできますか?
数字であれば、「この欄とこの欄とこの欄の値の合計をあの欄に反映される」という設定をできますよね。
それを、「○」の入力を数えるようにできませんか?
(漢字入力の「参加」「不参加」を見分けることは無理だと思うので、せめて「○」と「不参加」を見分けることはできないかなー、なんて)
「○」と入力した欄の横に「1」として、計算式を出すようにするしか方法はないでしょうか?

エクセルに詳しい方、アドバイスをお願いします。

Aベストアンサー

出欠データがA列の2行目から100行目まで入力されているとして、
=COUNTIF(A2:A100,"○")
これでいけます。

「参加・不参加」で管理する場合は
=COUNTIF(A2:A100,"参加")
=COUNTIF(A2:A100,"不参加")
こちらでも無問題です。

ちなみに空欄をカウントしたい場合は
=COUNTBLANK(A2:A100)

Qエクセルで、条件に一致した行を別のセルに抜き出す方法

エクセルで、指定した条件に一致するセルを含む行をすべて抜き出す方法が知りたいです。

たとえば、

<A列> <B列> <C列>
7/1 りんご 100円
7/2 ぶどう 200円
7/2 すいか 300円
7/3 みかん 100円

このような表があって、100円を含む行をそのままの形で、
別のセル(同じシート内)に抜き出したいのですが。

7/1 りんご 100円
7/3 みかん 100円

抽出するだけならオートフィルターでもできますが、
抽出結果を自動的に、別の場所に、常に表示させておきたいのです。

初歩的な質問だと思いますが、検索しても分からなかったので、よろしくお願いします。

Aベストアンサー

同じ質問が結構よく出てますが、そんなに初歩的でもありません
別シートのA1セルに「100円」と入力し、そのシートの任意のセルに以下の式を貼り付けて下さい。後は、下方向、右方向にコピー。
日付のセル書式は「日付」形式に再設定してください

=IF(COUNTIF(Sheet1!$C:$C,$A$1)>=ROW(A1),INDEX(Sheet1!A:A,LARGE(INDEX((Sheet1!$C$1:$C$500=$A$1)*ROW(Sheet1!$C$1:$C$500),),COUNTIF(Sheet1!$C:$C,$A$1)-ROW(A1)+1)),"")

データ範囲は500行までとしていますが、必要に応じて変更して下さい

Qエクセルで出勤表から出勤者の名前を出したいのですが。

エクセルで出勤表から出勤者の名前を出したいのですが。

介護施設に勤務しています。A~E(職員名とする)までの5人が勤務しているとします。今ここに、縦がA~E、横が月日のエクセルの表(表1とする)があるとします。
仮に6月1日はA,B,Cの3人が出勤で表の該当セルに○が入力されています。6月2日はB,D,Eが出勤で同様に○が入力されています。こんな感じで月末までの勤務表が出来ているとします。

ここで別のシートに「今日の出勤者」として当日の出勤者を表(表2)に出したいと思っています。
私が望んでいるのは、表1の希望の月日をクリック、もしくは入力すると、自動で表2のセルにその日の出勤者だけの名前が返せればいいのですが・・・。
本日の出勤者として本部に名前入りの表をあげないといけなく、これまでは表1から該当日の○を数えては、その職員名を手書きで書いて送っていました。この煩雑な作業を効率化したいと思っています。
よろしくご教授お願いいたします。

Aベストアンサー

日付をクリックした場合に実行する場合は以下のようなマクロを使用します。
使用した表と実行結果は画像の通りです。
このプログラムの場合1行目をクリックした場合に実行されます。
もしマクロで行うのであれば試してみてください。
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim i As Integer
Dim iRowNo As Integer
iRowNo = 1
If Target.Row = 1 And Target.Column <> 1 Then
Worksheets("Sheet2").Columns(2).Clear
For i = 2 To 6
If Cells(i, Target.Column).Value = "○" Then
Worksheets("Sheet2").Cells(iRowNo, 2).Value = Cells(i, 1).Value
iRowNo = iRowNo + 1
End If
Next
End If
End Sub

日付をクリックした場合に実行する場合は以下のようなマクロを使用します。
使用した表と実行結果は画像の通りです。
このプログラムの場合1行目をクリックした場合に実行されます。
もしマクロで行うのであれば試してみてください。
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim i As Integer
Dim iRowNo As Integer
iRowNo = 1
If Target.Row = 1 And Target.Column <> 1 Then
Worksheets("Sheet2").Columns(2).Clear
For i = 2 To 6
If Cells(i, Target.Col...続きを読む

Qエクセルで打ち込んだ数字を自動で別シートに表示したい

エクセルでセルに打ち込んだ数字を自動で別シートに表示できる方法があれば、教えてください。

例えば、シート1のC1に5を打ち込んだら、シート2のD2にシート1で打ち込んだ5が自動で表示される。

また1列すべてを自動で表示させる場合、一つのセルの時と違いがありましたら教えてください。よろしくお願いします。

Aベストアンサー

こんばんは。
入力したセルの値を合計とかでなくて、
純粋に別のシートに自動的に表示したいのであれば、
以下の方法があります。

1.1つのセルだけの場合
例)シート1のC1に5を打ち込んだら、
  シート2のD2にシート1で打ち込んだ5が自動で表示される

⇒シート2のD2のセルをアクティブにして「=」を入力
 した後、シート1のC1をクリックする。
 そうするとD2のセルに「=Sheet1!C1」と表示され、値が自動的に
 表示されるようになります。

2.1列全てコピーしたい場合。
  コピー&リンク貼り付けを使うと便利です。

例)例)シート1のC1~C5に何かを入力したら、
  シート2のD2~D7にシート1で打ち込んだものが自動で表示される

  シート1にあるコピー元のセルを範囲選択して、
  シート2のD2の上で「右クリック」⇒「形式を選択して貼り付け」
  をクリックします。

  そして出てきた小さな画面の左下にある「リンク貼り付け」という
  ボタンをクリックすると完成です。
  試してみてください。。

  念のためにリンク貼り付けを図解しているURLを載せておきます。
  参考にしてみてくださいね。。
  http://www.geocities.jp/office_inoue/excel/eq21.htm

こんばんは。
入力したセルの値を合計とかでなくて、
純粋に別のシートに自動的に表示したいのであれば、
以下の方法があります。

1.1つのセルだけの場合
例)シート1のC1に5を打ち込んだら、
  シート2のD2にシート1で打ち込んだ5が自動で表示される

⇒シート2のD2のセルをアクティブにして「=」を入力
 した後、シート1のC1をクリックする。
 そうするとD2のセルに「=Sheet1!C1」と表示され、値が自動的に
 表示されるようになります。

2.1列全てコピーしたい場合。
  コ...続きを読む

Qエクセルで条件に合うものを別シートに抽出(関数)

希望日    りんご   ばなな   みかん   担当   配達チェック
6月1日      2             1     山田
6月3日             4      2     佐藤      
6月1日      3                   山田      済
6月2日             1            佐藤 
6月2日                    2     山田

というデータがsheet1に入力されています。
<条件>
 ・担当 山田のもの
 ・6月2日以前(このデータでは1日と2日)
 ・配達チェックが済でないもの(空白です)

この条件を満たすものをsheet2に抽出したいのです。
希望日    りんご   ばなな   みかん   担当   配達チェック
6月1日      2              1     山田
6月2日                    2     山田
とsheet2に表示させるには関数でできますか?
できれば、セル参照でA1セルに6月2日、B1に山田と入力すると抽出されるととても便利なのですが・・・。
皆様のお知恵を拝借させてください!!

希望日    りんご   ばなな   みかん   担当   配達チェック
6月1日      2             1     山田
6月3日             4      2     佐藤      
6月1日      3                   山田      済
6月2日             1            佐藤 
6月2日                    2     山田

というデータがsheet1に入力されています。
<条件>
 ・担当 山田の...続きを読む

Aベストアンサー

こんばんは!
一例です。

↓の画像でSheet1に作業用の列を設けています。
作業列G2セルに
=IF(COUNTBLANK(Sheet2!$A$1:$B$1),"",IF(AND(A2<=Sheet2!$A$1,E2=Sheet2!$B$1,F2=""),ROW(),""))
という数式を入れオートフィルでずぃ~~~!っと下へコピーしておきます。

そしてSheet2のA4セルに
=IF(COUNT(Sheet1!$G:$G)<ROW(A1),"",INDEX(Sheet1!A:A,SMALL(Sheet1!$G:$G,ROW(A1))))
という数式を入れ列方向と行方向にオートフィルでコピー!

A列の表示形式は「日付」にしておきます。
ただ、このままではSheet1に空白セルがあれば「0」が表示されてしまいますので、
当方使用のExcel2003の場合ですが、
メニュー → ツール → オプション → 「表示」タブ → 「ゼロ値」のチェックを外すと
画像のような感じになります。

以上、参考になれば良いのですが・・・m(__)m

Qエクセルで複数の条件を抽出し自動的に別シートに反映する方法を教えてください。

こんばんは。教えてください。

元データ(sheet1)を更新するたび
2つの条件にあったデータを
別シートに自動的に抽出したいので
適した関数がありましたら教えてください。



◇シート1◇ ※元データ
 A      B     C     D     F
1 氏名 役職 部署 年齢 移動時期     
2 山田 社員 開発 45  未調整
3 田中 社員 人事 42  4/1~
4 鈴木 派遣 企画 30  
5 高橋 役員 人事 50  未調整
6 坂野 社員 企画 33  未調整  
7 井上 派遣 企画 29  未調整

◇シート2◇ ※部署が人事で移動時期が未調整の人のみ抽出
 A      B     C     D    F
1 氏名 役職 部署 年齢 移動時期 
2 高橋 役員 人事 50  未調整


補足
・元データ(シート1)はこれからもデータを追加するので
 その度、シート2、シート3もそれぞれ自動で反映されるようにした いです。

・マクロ、VBAは知識がないので
 関数で作成したいです。

・できるだけエラー(#N/Aなど)表示されないようにしたいです。

説明が不十分で伝わりにくいかと思いますが
よろしくお願いします。

こんばんは。教えてください。

元データ(sheet1)を更新するたび
2つの条件にあったデータを
別シートに自動的に抽出したいので
適した関数がありましたら教えてください。



◇シート1◇ ※元データ
 A      B     C     D     F
1 氏名 役職 部署 年齢 移動時期     
2 山田 社員 開発 45  未調整
3 田中 社員 人事 42  4/1~
4 鈴木 派遣 企画 30  
5 高橋 役員 人事 50  未調整
6 坂野 社員 企画 33  未調整  
7 ...続きを読む

Aベストアンサー

> 部署を"人事"と"企画"の両方で抽出する条件を追加する

おはようございます、merlionXXです。
Operator:=xlOr, Criteria2:="=企画" と、OR条件で"企画"を加えれば可能です。
一応、各コードの動きに解説もつけておきました。(解説は’でコメントアウトしてますのでこのまま貼り付けてもOKです。)

Private Sub Worksheet_Activate() 'このシートがアクティブになったら自動実行
With Sheets("Sheet1") 'Sheet1対して
.AutoFilterMode = False 'オートフィルタ終了(あればエラーになるため)
.Range("A1:E1").AutoFilter 'A1:E1にオートフィルタ設定
.Range("A1:E1").AutoFilter Field:=3, Criteria1:="=人事", Operator:=xlOr, Criteria2:="=企画" '左から3つ目のフィルタを"人事"と"企画"のOR条件で抽出
.Range("A1:E1").AutoFilter Field:=5, Criteria1:="未調整" '左から5つ目のフィルタを"未調整"で抽出
.Range(.Range("A1"), .Range("A1").SpecialCells(xlLastCell)).SpecialCells(xlCellTypeVisible).Copy Range("A1") 'A1から最終セル範囲の可視セルをこのシートのA1以降に貼り付け
.AutoFilterMode = False 'オートフィルタ終了
End With 'Sheet1に対する記述おわり
End Sub

> 部署を"人事"と"企画"の両方で抽出する条件を追加する

おはようございます、merlionXXです。
Operator:=xlOr, Criteria2:="=企画" と、OR条件で"企画"を加えれば可能です。
一応、各コードの動きに解説もつけておきました。(解説は’でコメントアウトしてますのでこのまま貼り付けてもOKです。)

Private Sub Worksheet_Activate() 'このシートがアクティブになったら自動実行
With Sheets("Sheet1") 'Sheet1対して
.AutoFilterMode = False 'オートフィルタ終了(あればエラーになるた...続きを読む

Qエクセル2010 欠席者の名前を抽出し同じセルに

こんにちは。エクセルについて質問させてください。

A        B

坂本さん    欠
田中さん 
磐田さん
林さん     欠
鈴木さん


別のセルA     B

欠席者       坂本さん、林さん、


上記のように、欠席者を抽出して、別のセルに表示させたいです。
できれば同じセル内に並べて表示させたいのですが、不可であれば他のセルでもOKです。
調べ方が悪いのか、単純な関数かもしれませんが答えがわからず、、
勢いで「教えてgoo」に登録しての質問です。
どなたかお手数ですがご教授をお願い致します。

Aベストアンサー

>上記のように、欠席者を抽出して、別のセルに表示させたいです。
中間処理用の列を使うと簡単に抽出できます。
添付画像はC列で中間処理を行っています。

C2=IF(B2="欠",C1&A2&" ",C1&"")
C3以降はC2をオートフィルでコピーします。

欠席者の表示はB8セルですが中間処理の最終セルから不要な空白文字を除去しました。

B8=TRIM(C6)

Qエクセル管理の名簿から必要な名簿だけを抽出したいんですが

windowsXPとエクセル2002を使ってますが、エクセルで管理している名簿(住所録)から、共通のキーワードを使ってまとめて検索・抽出する、良い方法はありませんか?
例えば宛名が「パン工場」「チーズ工場」「ジャム工場」のようにある場合、キーワードを「工場」というくくりだけでデータを抽出したいのです。
因みに「フィルターオプションの設定」だと、同一セルの中に他の語彙や文字が入っていると、除外されてしまいます。
例)キーワード「すし」⇒「すし屋」×(抽出されず)、といったような感じです。「Ctrl+F」ですと一つ一つ拾わないといけないので、大容量のデータですと、全て見つけ出すのに大変な労力と時間が掛かってしまいます。上記以外で何か良い方法はないでしょうか?よろしくお願いいたします。

Aベストアンサー

フィルタオプションで「工場」「を含む」とするだけで良さそうな気がしますが……。
どんな操作をされたのでしょうか?

Qエクセルで〇の数を数えたい

エクセルで〇の数を数えたい。関数式はどうなりますか。
c5~c45の○を挿入したセルの数をc50にだしたいのですが。
ひさしぶりにエクセルやったので、忘れてしまいました。

Aベストアンサー

#1です。
おかしいですねえ。

まさかとは思いますが、
・「○」のつもりが、英語の O になってるとか、数字の0とか、漢数字の〇になってるとか
・○の前後にスペースが入っていないか

このあたりを見てみましょう。

QエクセルのIF関数で、文字が入力されていたならば~

エクセルのIF関数で文字が入力されていたならば~、という論理式を組み立てたいと思っています。

=IF(A1="『どんな文字でも』","",+B1-C1)

A1セルに『どんな文字でも』入っていたならば、空白に。
文字が入っていなければB1セルからC1セルを引く、という状態です。

この『どんな文字でも』の部分に何を入れればいいのか教えてください。

またIF関数以外でも同様のことができれば構いません。

宜しくお願いします。

Aベストアンサー

=IF(ISTEXT(A1),"",B1-C1)

でどうでしょうか?


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング