- 締切済み
EXCEL 「並び替え」の誤動作について
zap35の回答
- zap35
- ベストアンサー率44% (1383/3079)
#03です >でも、ちょっと重たいなぁ・・・ そうですね。データが何万件もあるのであればソートを何回も繰り返しますので遅くなるでしょう。 余計とは思いましたが、興味深かったので私もマクロを書いてみました。選択した範囲に対してふりがなでソートを行います。ソートHeaderの有無は自動判定にしていますので、表によってはタイトル行もソートされるかもしれません。 Sub PhoneticSort() Dim rng As Range, keyC Dim idxR, idxC, trgC As Long Const cols As Integer = 10 '挿入する作業列の数(=フリガナ文字数) Application.ScreenUpdating = False On Error GoTo end0 If TypeName(Selection) = "Range" Then Set rng = Selection keyC = Application.InputBox("ソートキーの列名を入力して下さい", Type:=2) If keyC = False Then GoTo end0 keyC = StrConv(keyC, vbNarrow) rng.Cells(1, 1).Offset(0, rng.Columns.Count).Resize(1, cols).EntireColumn.Insert For idxR = rng.Row To rng.Row + rng.Rows.Count - 1 For idxC = 0 To cols - 1 trgC = rng.Column + rng.Columns.Count + idxC Cells(idxR, trgC).Value = Mid(Cells(idxR, keyC).Value, idxC + 1, 1) Next idxC Next idxR trgC = rng.Column + rng.Columns.Count For idxC = trgC + cols - 1 To trgC Step -1 rng.Resize(rng.Rows.Count, rng.Columns.Count + cols).Sort _ key1:=Cells(rng.Row, idxC), order1:=xlAscending, header:=xlGuess Next idxC rng.Cells(1, 1).Offset(0, rng.Columns.Count).Resize(1, cols).EntireColumn.Delete End If end0: Application.ScreenUpdating = True End Sub なおテストしたデータは以下です(「データ」→「並び替え」の順番に並んでいます) Code Name Phonetic 1 座 頭くじら ざ とうくじら 2 座頭 くじら ざとう くじら 3 佐堂 賢二 さどう けんじ 4 佐藤 浩二 さとう こうじ 5 浜崎 あゆみ はまざき あゆみ 6 浜崎 歩 はまさき あゆむ これがマクロ実行後は Code Name Phonetic 4 佐藤 浩二 さとう こうじ 3 佐堂 賢二 さどう けんじ 1 座 頭くじら ざ とうくじら 2 座頭 くじら ざとう くじら 6 浜崎 歩 はまさき あゆむ 5 浜崎 あゆみ はまざき あゆみ になります。
関連するQ&A
- Excel を使用して運用データを編集する
目的はODCファイルを開くことですがhttp://office.microsoft.com/ja-jp/excel-help/HA001086488.aspxこのページの「Web からのデータのインポートについて」の[データ] メニューはどこにありますか?
- 締切済み
- その他(インターネット・Webサービス)
- Excelの集計方法について(集計KEYが2個ある場合です)
WinxpでExcel2002を使用しています。 A列 B列 C列 日付 性別 人数 上記の表があります。 SORTで日付(降順)、性別(昇順)に並べ替えを行い、その結果を以下のように人数を集計するには、どうすれば良いでしょうか? 性別計 男 ○人 性別計 女 ×人 日付計 ○+×人 尚、合わせて、日付計で、改ページも行いたいです。 ご教示宜しくお願いします。
- ベストアンサー
- オフィス系ソフト
- エクセルで英数字の文字列から数字を抽出
エクセルで英数字を含む文字列から数字を抽出く =1*MID(A1,MATCH(TRUE,ISNUMBER(1*MID(A1,ROW($1:$9),1)),0),COUNT(1*MID(A1,ROW($1:$9),1))) 小数点にも対応させるにはどうしたら良いでしょうか。 「AA0.45」→0.45 「0.65BB」→0.65 「CC0.85CC」→0.85 http://office.microsoft.com/ja-jp/excel-help/HA001154901.aspx を参照しました
- ベストアンサー
- その他MS Office製品
- Excel2002でX/数値軸目盛にラインを入れることができますか?
Excel2002でX/数値軸目盛にラインを入れることができますか? Microsoft Office Excel 2002です。 Excel2002でY/数値軸目盛にラインを入れることはできます。 どうすれば Excel2002でX/数値軸目盛にラインを入れることができますか? または、いつのバージョンのExcelならX/数値軸目盛にラインを入れることができますか? http://office.microsoft.com/ja-jp/excel-help/HA001034643.aspx?CTT=1
- ベストアンサー
- オフィス系ソフト
- ExcelVBA:列方向の並び替え Orientation
いつも大変お世話になります。初心者です。 長文で申し訳ありませんが、私の間違いについてご指導をお願いします。(Excel2003) 並び替えについて訳が分からなくなってしまいました。現状は、 ・A2セル=1月、A3=2月、A4=3月、A5=合計 ・B1セル=札幌、C1=東京、D1=名古屋、E1=大阪 ・B2:E4 は売上金額です。 ・B5 は、SUM(B2:B4) です。C5~E5も同様です。 ※売上合計は多い順に、東京、大阪、名古屋、札幌です。 この表の合計金額を並び替えをしたいと思い、以下を書いてみました。 左から順に、売上合計の多い支社順に、並ばせようとしました。 Cells(1, 1).CurrentRegion.Sort _ key1:=Cells(5, 1), order1:=xlDescending, Orientation:=xlSortColumns, header:=xlYes 【甲】 すると全く意図した形ではない並び替えが実行されてしまいました。 (なぜか行が入れ替わり、列は変わらず。) 【乙】 しかし、上のOrientationを、xlSortRows に変えてやってみると、意図した通りに並び替えられました。 【丙】 また、Order1:=xlAscending, Orientation:=xlSortRows でやってみると、列の並び替えは実施されますが、 月の見出し列(A1~A5)が一番右に移動してしまいます。 -------------------------------------------------------------------------- その後いろいろ調べたり、試行したりしたのですが疑問が山積してしまいました。 基礎的な話かもしれませんが、上記の例で、「列方向に、合計金額を基準に、正しく降順・昇順並び替え」をしたいと思っています。 【質問1】Sortメソッドのヘルプで見ると、Orientation の説明に、xlSortRows,xlSortColumnsの説明がありますが、 行方向、列方向、どうしても実際の動きと逆な気がしてなりません。 私の勘違いでしょうか。 【質問2】マクロの自動記録時に気づいたのですが、Orientation の設定に、xlLeftToRight や、xlTopToBottom というのが使われていました。 これらと xlSortRows, xlSortColumns の違いはありますか。 【質問3】列方向への並び替えの際には、Headerの設定をするのは無意味ですか? 上記(丙)のパターンで、xlGuess でも、xlYes 、xlNo でも全く動きは変わらず、月の見出し列が最右に移動しました。 【質問4】上の(丙)のパターンで正しく動かす為には、Sort の対象となる範囲を、B列以降にする必要があるのでしょうか。 ---------------------------------------------------------------------------- 分かりにくい箇所もあったかと思いますが、ご指摘いただければ補足させていただきます。 なお、「そんな簡単な表だったら、手で作業したら?」ということではなく、後学のために知っておきたいので質問させていただきました。 なにぶん勉強中なため見当外れの質問もあるかもしれませんが、なにとぞご教示よろしくお願いいたします。
- ベストアンサー
- オフィス系ソフト
- Excel2007のフィルタ
職場のPCで、あるPCは可視セルのみをコピーし、あるPCは非表示セルまでコピーをしてしまうのです。(全てExcel2007です。) http://office.microsoft.com/ja-jp/excel/HA102448971041.aspx?pid=CH100648341041 上記URLによると「すべてのセルをコピーするか、可視セルのみをコピーするかを選択できます。」とあるのですが、その方法が分かりません。 ご存知の方、お教え下さい。
- 締切済み
- オフィス系ソフト
- Excel2002で右と左に違う軸の数値でグラフを出すことができますか
Excel2002で右と左に違う軸の数値でグラフを出すことができますか? Microsoft Office Excel 2002です。 Excel2002でY/数値軸目盛にラインを入れることはできます。 どうすれば 右と左に違う軸の数値でグラフを出すことができますか? 相関関係がある指標と実際の価格を出して比較するようなときに使いたいのです。 または、いつのバージョンのExcelなら右と左に違う軸の数値でグラフを出すことができますか? http://office.microsoft.com/ja-jp/excel-help/HA001034643.aspx?CTT=1
- ベストアンサー
- オフィス系ソフト
- セル結合されていないのに結合のメッセージが出る
エクセル2010を使っております。 ある表を五十音順に並び替えようと思っているのですが、「この操作には、 同じサイズのセル結合が必要です。」とのメッセージが出てしまいます。 しかし、結合セルをhttp://office.microsoft.com/ja-jp/excel-help/HP010342686.aspx#BMfindmergedcells に記載されたとおりに検索しても見つかりません。 (並び替えようとしている範囲内を目で探しても結合セルは見つかりません) どうすれば、並び替えができるようになるのでしょうか? よろしくお願いします。
- ベストアンサー
- Excel(エクセル)
- mos word2007でドキュメント検査
MOS試験 word2007の試験を受けたいのですが、ドキュメント検査の問題で、メタデータというのがはっきりと分からず、マイクロソフト社のホームページで調べたところ、二通りの解釈が出てきました。 どちらで判断したらいいのか分からず、悩んでいます。どなたか教えてください。 メタデータを情報、プロパティ、隠し文字、コメントなどを言うというホームページが http://support.microsoft.com/kb/223396/ja 情報、プロパティという解釈のホームページが http://office.microsoft.com/ja-jp/excel-help/HA010037593.aspx です。よろしくお願いします。
- ベストアンサー
- その他MS Office製品
お礼
例の方法を見事にコード化しましたね。 しかも短時間で・・・・ まったくレベルが違いますね。 コードの使い方が洗練されてるし、バグ対策も考慮されて・・ いいものを見せていただきました。 ありがとうございました。