- ベストアンサー
ゴルフのスタート表の作成する関数は?
横に名前とハンディを4名分並びます。 縦にもスタート順に6組くらいの枠があります。 参加者名簿をコピぺしながらスタート表を作成していますが、つい名前がダブったり記入漏れが発生するので大変面倒です。 そこで、名簿から名前をスタート表に移すと、名簿から名前が消えていく方法があればミスも無く簡単に表の作成が出来るので、その方法をお教え願います。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
No.3です! たびたびごめんなさい。 前回の方法は無視してください。 条件付書式で対応できると思います。 前回アップした配置通りとして・・・ Excel2007以降の場合は K1~参加者名セルすべてを範囲指定 → 条件付き書式 → 新しいルール → 数式を使用して・・・ → 数式欄に =COUNTIF($B$2:$I$7,K1) という数式を入力 → 書式 → フォントの色を「白」に! Excel2003以前の場合 範囲指定 → メニュー → 書式 → 条件付き書式 → 「数式が」を選択 → 数式欄に上記と同じ数式 → 書式 → フォントの色を「白」 これで大丈夫だと思います。 ※ この場合、コピー&ペーストしてしまうと、K列の条件付書式もコピー&ペーストされ 表の氏名のフォント色も「白」になってしまいます。 (わざわざ「形式を選択して貼り付ける」のも大変ですので・・・) B~H列は手入力にしてください。 何度も失礼しました。m(_ _)m
その他の回答 (3)
- tom04
- ベストアンサー率49% (2537/5117)
こんばんは! 極力ご要望に近い形にやってみました。 VBAになってしまいますが、一例です。 ↓の画像のようなレイアウトだとします。 画面左下の操作したいSheet見出し上で右クリック → コードの表示 → VBE画面に ↓のコードをコピー&ペーストして参加者名を表内にコピー&ペーストしてみてください。 Private Sub Worksheet_Change(ByVal Target As Range) 'この行から Dim i As Long, n As Long If Application.Intersect(Target, Range("B:B, D:D, F:F, H:H")) Is Nothing Or Target.Count <> 1 Then Exit Sub On Error Resume Next If Target <> "" Then n = WorksheetFunction.Match(Target, Range("K:K"), False) Cells(n, "K").Font.ColorIndex = 2 Else For i = 2 To Cells(Rows.Count, "K").End(xlUp).Row If WorksheetFunction.CountIf(Range("B:I"), Cells(i, "K")) = 0 Then Cells(i, "K").Font.ColorIndex = xlAutomatic End If Next i End If End Sub 'この行まで ※ あくまで↓の画像通りの配置だとしてのコードです。 1行・1列違っても滅茶苦茶な表示になってしまいます メンテナンスのコトを考慮すると誰でも変更できる別の方法が良いかもしれませんね。m(_ _)m
- koko88okok
- ベストアンサー率58% (3839/6543)
参加者名の空いている列に組番号を入力し、組番号の列をキーに「並べ替え」したものを『スタート表』にコピペする方法は如何でしょう?
- nag0720
- ベストアンサー率58% (1093/1860)
名簿から名前が消えてもいいなら、 コピー&ペーストではなくて、カット&ペーストで移せばいいんじゃないの。
お礼
使用した名前のセルに色を付けるという発想はなかったので、大変貴重な回答でした。 ありがとうございました。