スポーツ団体で管理表を作っていますが、登録番号、名前、年齢、級・段位の項目があり、級・段位を昇順で抽出をすると、10級、1級、2級、2段、3級、3段、4級、4段・・・・・・・初段となり、困っています。
1級、2級・・・・9級、10級、初段、2段、3段・・・・としたいのです。
何か方法があれば、教えて頂けませんでしょうか。お願いします。(エクセル2007)を使用しています。

このQ&Aに関連する最新のQ&A

A 回答 (4件)

最初に


例えばA列に
A1セルからA20セルまで
1級
2級
3級
4級
5級
6級
7級
8級
9級
10級
初段
2段
3段
4段
5段
6段
7段
8段
9段
10段
と入力しておきます
Officeボタン→[Excelのオプション]
[Excelのオプション]ダイアログボックスで 「基本設定」
Execlの使用に関する基本オプション欄にある 「ユーザー定義リストの編集」をクリック
[ユーザー設定リスト]ダイアログボックスで [インポート]の左にある小さなボタンをクリック
[ユーザー設定リスト]が小さくなったら A1:A20を ドラッグ リスト内が 「$A$1:$A$20」になったら
右端のボタンをクリック 元の大きさになったら [インポート]をクリック
ユーザー設定リスト欄に 入ったと思います [OK]クリック ExcelのオプションもOK
これからは 並べ替えを行う際に 
「順序」で 「降順」でも 「昇順」でもなく 
「ユーザー設定リスト」を選択して 先ほど登録したリストを選択して [OK]クリック
これで望み通りかと思います
    • good
    • 0

Officeボタンを押し、Excelのオプションを選びます。


左側のペインで基本設定を選びます。
右側のペインでユーザー設定リストの編集を選びます。
並べ替えたいリストをユーザー設定リストに追加して
並べ替えを実行してはどうでしょうか。
    • good
    • 0
この回答へのお礼

ありがとうございました。

お礼日時:2011/04/25 19:55

1級、2級・・・・9級、10級、初段、2段、3段順に別のセルに1から番号を割り付けてそれで抽出するとか



あと

ユーザー設定リストで1級、2級・・・・9級、10級、初段、2段、3段を登録しておいて
並び替えのオプションで一度順序の指定を作成したリストでやっておくなどとかいかがでしょう。
    • good
    • 0
この回答へのお礼

助かりましたありがとうございます。

お礼日時:2011/04/25 19:54

抽出というのは,条件に合致した行を表示し合致しない行を隠す操作を言います。


あなたがやりたい事は,抽出ではなく,単純に級・段位でリストの並べ替えをしたいだけという事でしょうか。

#オートフィルタでそういう並べ替えをすること自体は,別に間違いじゃありません。


手順:
画面左上の丸いOfficeボタンからExcelのオプションの基本設定欄に「ユーザー設定リストの編集」というのがあるのでクリック,
リストの項目に
1級
2級
9級
10級
初段
2段
3段
のように記入して追加します

そうやって正しい並び順を登録できたら今度はデータタブの「並べ替え」ボタンをクリック,級・段位の列について,順序を「ユーザー設定リスト」から今登録したユーザー設定のリストを選んで並べ替えさせます。
    • good
    • 0
この回答へのお礼

ありがとうございました。なにぶん初心者ですので、ことばの表現がわかりませんでした。

お礼日時:2011/04/25 19:49

このQ&Aに関連する人気のQ&A

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

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

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

Qワードの一部分にエクセルの表計算を張り付け

ワードで作った枠付きの書類のなかに、エクセルの表計算を張り付けたいのですが、
ワードの罫線や文が崩れてしまいます。

どうしたら、できますか?

また、ワードでは、表計算はできませんか?

Aベストアンサー

ワードに表計算やグラフを埋め込む方法としては、エクセルで
単独で作成しておいたデータを、リンク貼り付けするのが、
一番良いと思います。

理由
・表形式のデータ編集の自由度が高い
・他の図などがあっても、レイアウトがしやすい
・元データを変更した場合でもワードに反映される

枠付きの書類ということですが、予めワードで作っていた
部分に、エクセルの必要部分を貼り付けしてください。

このとき、ワードの行体が崩れますが、その場合の対応など
以下を参考すればよろしいかと思います。

参考URL:http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1413115994

Qオートフィルタでデータを抽出する方法

今ある下のコードを実行すると、
別のシートに表示はされるのですが、
同じデータしか表示されない状態です

これをすべての条件のヒットするデータを
表示して、別シートにコピーしたいのですが・・・

レイアウトは、

使用者名メーカー車種ナンバー  初年度登録   車検日   備考

です

A列の「使用者名」のところに同じ「使用者名」で、それ以降のB列の内容が違うデータが
複数あるので、「使用者名」が同じデータは、すべて表示されるようにしたいのですが、
これ以上どうしたらいいかわかりません。
つたない説明で大変申し訳ないのですが、ご教授願います

Sub CommandButton1_Click()

Dim 使用者名 As Variant
Dim cnt As Variant

With Worksheets(3)

.Select
.Range("A6").AutoFilter _
Field:=7, _
Criteria1:="=" & UserForm4.TextBox1, Operator:=xlAnd
.Range("A6").CurrentRegion.SpecialCells(xlCellTypeVisible).Copy _
Worksheets("出力").Range("A6")
End With

Worksheets("出力").Activate
Columns("A:O").EntireColumn.AutoFit


With ActiveSheet.UsedRange

MaxRow = .Find("*", , xlFormulas, , xlByRows, xlPrevious).Row

End With

cnt = 6

For 基点 = 1 To MaxRow

MsgBox (基点 & "です")


'まず検索用テキストボックスの中に文字の入力があるかどうかをチェックします。
If Not txtsiyousya.Value = Empty Then

'氏名の列であるA列の中に検索する氏名があるかどうかをチェックします。
Set 使用者名 = Columns("A:A").Find(txtsiyousya, LookIn:=xlValues)

'検索結果が発見できれば、そのセルをアクティブにします。
If Not 使用者名 Is Nothing Then

使用者名.Activate

Unload UserForm2

UserForm4.TextBox1.Text = ActiveCell.Offset(0, 0).Value
UserForm4.TextBox2.Text = ActiveCell.Offset(0, 1).Value
UserForm4.TextBox3.Text = ActiveCell.Offset(0, 2).Value
UserForm4.TextBox4.Text = ActiveCell.Offset(0, 3).Value
UserForm4.TextBox5.Text = ActiveCell.Offset(0, 4).Value
UserForm4.TextBox6.Text = ActiveCell.Offset(0, 5).Value
UserForm4.TextBox7.Text = ActiveCell.Offset(0, 6).Value
UserForm4.TextBox8.Text = ActiveCell.Offset(0, 7).Value
UserForm4.TextBox9.Text = ActiveCell.Offset(0, 8).Value
UserForm4.TextBox10.Text = ActiveCell.Offset(0, 9).Value
UserForm4.TextBox11.Text = ActiveCell.Offset(0, 10).Value
UserForm4.TextBox12.Text = ActiveCell.Offset(0, 11).Value
UserForm4.TextBox13.Text = ActiveCell.Offset(0, 12).Value
UserForm4.TextBox14.Text = ActiveCell.Offset(0, 13).Value

UserForm4.Show

cnt = cnt + 1
MsgBox (cnt)


'検索結果が発見できなければ、次のメッセージを表示します。
Else

MsgBox "検索した使用者は登録されていません"
txtsiyousya.Value = Empty

End If


Else

MsgBox "検索する使用者を入力して下さい"

End If

Next 基点


Range("A6").AutoFilter Field:=1, Criteria1:=UserForm4.TextBox1.Text
Worksheets("出力").Activate
Worksheets("ライフ").Activate

End Sub

今ある下のコードを実行すると、
別のシートに表示はされるのですが、
同じデータしか表示されない状態です

これをすべての条件のヒットするデータを
表示して、別シートにコピーしたいのですが・・・

レイアウトは、

使用者名メーカー車種ナンバー  初年度登録   車検日   備考

です

A列の「使用者名」のところに同じ「使用者名」で、それ以降のB列の内容が違うデータが
複数あるので、「使用者名」が同じデータは、すべて表示されるようにしたいのですが、
これ以上どうしたらいいかわかりません...続きを読む

Aベストアンサー

コメントの書き方が今ひとつ良くなかったかもしれません。

> UserForm2に入力した使用者氏名
> と同じものがあれば、そのデータを
> UserForm4に表示するというふうにしたかったのです。

なるほど、そのように推定はしていましたがこれではっきり理解することができました。
(やや話がそれますがついでに確認させていただくと、このプロシージャはUserForm2にあるということで正しいのですね)

今回補足いただいたのは、氏名を検索する前に氏名の検索対象を抽出するところ、つまり
.Range("A6").AutoFilter _
Field:=7, _
Criteria1:="=" & UserForm4.TextBox1, Operator:=xlAnd
のところについて、特に「Criteria1:="=" & UserForm4.TextBox1」のところ(以下「この部分」と呼ばせていただきます)と存じます。
この部分がおかしいというわけではなく、抽出条件をどのように指定するかということです。
このコードをそのまま生かして、UserForm4を使って抽出条件を入力する方法もあると思います。
一方、UserForm4を表示専用にするなら、UserForm2にテキストボックスをもう1つ追加し(仮に名前をtxtfilter1とすると)、この部分を「Criteria1:="=" & txtfilter1」に変更することが考えられます。(これが一番のおすすめです)
なお、備考(?)が空白のデータのみを抽出するなら、この部分は「Criteria1:="="」だけでいいはずです。

いただいた補足に対する回答は以上ですが、他に少し追加や説明等いたします。
1.ワークシート"出力"の内容の消去
「Worksheets("出力").Cells.Delete」を
「.Range("A6").CurrentRegion.SpecialCells(xlCellTypeVisible).Copy _
Worksheets("出力").Range("A6")」の前に追加するようお願いします。
説明させていただくと、上記の抽出の検討をしていて気づいたのですが、シート"出力"のデータを毎回消去しないと、このプロシージャを複数回実行した際に氏名検索対象の抽出件数が直前に実行したものより今回の方が少ない場合、直前の抽出結果が残ってしまいます。
2.UserForm2はUnloadせずにHideする方法も
「Unload UserForm2」は、「UserForm2.Hide」に変更してはいかがでしょうか。
これは運用の状況や好みにもよりますが、HideにしておけばUserForm2のデータは消去されず、場合により入力の手間が省けることがあるなど少しだけですが便利になると思います。
3.UserForm4にデータを書き込む部分について
ここのコードはテキストボックス名を文字列の配列で持ってFor-Nextを使うように変更してしまいました。しかし、UserForm4のテキストボックスを扱うのがここだけであれば、質問者様が書かれたような列挙でもよいと思います。将来、UserForm4を操作する部分が複数か所になり、さらにテキストボックスの構成が変更されたら・・・などということが頭をよぎり、前回のようなコードにした次第です。

回答内容は以上です。
UserForm2に前回のコードあるいはそれに上記の変更を施したコードを書き込めば、UserForm2に入力した氏名を検索してUserForm4に表示する動作はすると思いますのでお試しください。うまく動作すれば、あとは印刷のコードを書き加えて不要なMsgBoxを削除する等すれば、質問者様の思い描くものにかなり近づくのではないでしょうか。
何かうまくいかないところや当方の誤解等あれば補足ください。

コメントの書き方が今ひとつ良くなかったかもしれません。

> UserForm2に入力した使用者氏名
> と同じものがあれば、そのデータを
> UserForm4に表示するというふうにしたかったのです。

なるほど、そのように推定はしていましたがこれではっきり理解することができました。
(やや話がそれますがついでに確認させていただくと、このプロシージャはUserForm2にあるということで正しいのですね)

今回補足いただいたのは、氏名を検索する前に氏名の検索対象を抽出するところ、つまり
.Range("A6").AutoF...続きを読む

Q表計算ソフトってエクセルのことですか?

表計算ソフトが使えるのってエクセルだけですか?

そして、ついでに

データベースはどういうところに使われていますか(><)?

Aベストアンサー

表計算ソフトはExcelだけではありませんが、表計算ソフトのシェアでExcelが占める率は高いです。
昔はLotus1-2-3なんか有名でしたが・・・

データベースは「コンピュータで、相互に関連するデータを整理・統合し、検索しやすくしたファイル。また、このようなファイルの共用を可能にするシステム」(「大辞林」より)です。
例えば「辞書」ファイルも、写真を整理した「アルバム」も「ブログ」も「データベース」です。
ここの質問掲示板も「データベース」で成り立っています。
まぁ極端に言えば、「コンピュータで行なう事」全てが「データベースで成り立っている」んです。
どんなコンピュータだって「ファイル検索」ができるでしょう?

QExcel2003 オートフィルタで「*」を抽出

Excel2003でオートフィルタを使って文字列「*」を含む行を抽出したいのですが、どのようにすれば抽出できますか?

Aベストアンサー

オートフィルタの(オプション)で,
~* を含む
で行います。

QJWでエクセルのように表計算

JWで表計算したい場合、
表計を使って計算を行なうことが出来ます。
しかし、同じ計算を何度も繰り返し対する場合、
表計ではとても面倒です。
例)数字の和を
エクセルのように、簡単に数式を設定させ、
自動計算させることは出来ないのでしょうか?
ひとつの数値を変更してもすぐに全体の計算結果が更新されるような…

Aベストアンサー

出来ません。
CADですので、そこまでは、無理ですよ。
使用目的が、理解できませんが、計算結果を、図面に表記したいので
あれば、エクセルで、表計算したものを、貼り付ける、
外変等を導入するのが良いと思いますよ。
例:Excel to Jw_win
http://www.vector.co.jp/soft/win95/business/se308016.html
例:JWW作表
http://www.vector.co.jp/soft/win95/business/se276690.html

Qエクセル2002 オートフィルタで抽出が上手くいきません。とても困ってます

エクセルを使い、日記をつけたり読書ノートをつけたりと簡単なデータベースとして使っています。
何か検索したいときはオートフィルタを使い「~を含む」で単語検索すれば十分機能しています。
しかし、最近、抽出されるべき行(該当する単語があるセル)が抽出されていないことがあるに気づきました。
傾向としては
セルの中に該当する単語(抽出したい単語)があっても、それが長文の後半にあるとヒットしません。
長文といっても、セルの中に500~800字程度です。さらに250字程度以降の単語は抽出しない傾向にあります。←これはいろいろな作業を繰り返した結果から割り出しました。
何か設定上の制限でもかかっているのでしょうか。大変困っています。
ひとつのセル内の文章前半は抽出して後半は抽出しないなんてことはありますか?
解決方法を教えて下さい。お願いします。

Aベストアンサー

XL2003で確認できました。理由はわかりません。仕様かもしれませんね。

数式+フィルタオプションでは抽出できました。
C1セルは入力しない
C2セル =ISNUMBER(FIND("お願いします",A2))
データ - フィルタ - フィルタオプションの設定
検索条件範囲 $C$1:$C$2
添付図参照

Qエクセルの表計算について

初歩的な質問ですが、エクセルの表計算をする際、表に入力する数字は、半角数値にするとSAM計算等をしてくれますが、全角の文字列は受付けないでしょうか。よろしくお願いいたします。

Aベストアンサー

全角の数字を入力したいのでしょうか?それとも全角の数字を入れて計算させたいのでしょうか?

全角の数字を入力すると自動的に半角になるかと思います。(古いエクセルならできないかも)
その場合、頭に「'」(アポストロフィー)を付ければOKです。もしくは、セルの書式を文字列にしてから入力しても良いですね。

全角の数字は文字としての扱いですからそのままで計算することはできません。通常でしたらフォントサイズで大きくすることをお薦めします。
もし、どうしても計算したいのなら、全角の数字を数値に変換して別の場所で計算するしかないですね。
とても効率が良い表作りにはなりませんけども。

Qオートフィルタで抽出された結果で2番目に大きな値

エクセル初心者です。
オートフィルタで抽出された結果の中で2番目に大きな数字を別のセルに
表示させたいと思っています。

担当者 数字 
 A    1 
 B    2
 C    3
 A    4

上記のような表にオートフィルタをかけ、担当者Aを抽出します。
Aの数字の中で2番目に大きな数字は1ですので、別のセルには1と表示させたいと思います。
SUBTOTAL関数とLARGE関数の組み合わせができればと思いましたが、できそうにございません。
良い方法があればご教示よろしくお願い致します。

Aベストアンサー

B列に数字として
2番目は
=LARGE(INDEX(SUBTOTAL(9,INDIRECT("B"&ROW(B1:B99))),),2)
1番は
=LARGE(INDEX(SUBTOTAL(9,INDIRECT("B"&ROW(B1:B99))),),1)
でいいです。

QOpenOffice表計算ソフトの列、行の幅をエクセルと合せたい

OpenOffice表計算ソフトの列、行の幅をエクセルと合せたいのですが、単位が違うためどうしたらいいのか良くわかりません。
よろしくご教授下さい。

Aベストアンサー

OpenOffice表計算ソフトの列の幅、行の高さの単位を知りませんが、「1インチ≒25.4mm」などのように、共通の単位に変換~計算して合わせればよいのではないでしょうか?

ちなみに、私のパソコンでは、Excelのセルの幅≒19.05mm 高さ≒4.76mm でした。
(実際には、モニタの解像度などによって差があるようなので、同じパソコンで測る必要があると思います。)

測定方法:
10×10個のセルにピッタリのオートシェイプを描き、「オートシェイプの書式設定」の「サイズ」タブの数値を読み取って1/10した数値です。

オートシェイプを枠線にピッタリ合わせるには、
適当なサイズの四角形を描き、「Alt」キーを押しながらマウスで移動~拡大/縮小すると、枠線の近くで点線が枠線に重なります。
その状態になったところでマウスのボタンを離すとサイズが決まります。

QVBAでオートフィルタを使った抽出がうまくいきませんのでどなたか教えて

VBAでオートフィルタを使った抽出がうまくいきませんのでどなたか教えてください。
A列、C列に日付が入っていて、A列は空白以外のセルを表示し、かつC列は、開始日、終了日で抽出したいのですが、うまくいきません。

With Worksheets("sheet").Activate
開始日 = ">=" & TextBox1.Text
終了日 = "<=" & TextBox2.Text
.Range("A1:N200").AutoFilter Field:=1, Criteria1:="<>"
.Range("A1:N200").AutoFilter Field:=3, _
Criteria1:=開始日, Operator:=xlAnd, _
Criteria2:=終了日

Aベストアンサー

上手く行かないとは,何もフィルタされないとかで挙動が不正という事じゃなく,単純にエラーが出て止まるという意味ですか?

であれば,ご質問の掲示間違いじゃなくホントにマクロをミスっているのでしょう。

間違い:
With Worksheets("sheet").Activate
正解:
With Worksheets("sheet")


人気Q&Aランキング

おすすめ情報