• ベストアンサー

エクセルの並び替えがうまくいきません

mitsu-sの回答

  • mitsu-s
  • ベストアンサー率25% (7/27)
回答No.4

最初に降順で並び替えて空白データを後ろに持っていって、次に空白以外のデータを昇順で並び替えるってのはどうでしょう?

kitunekko
質問者

お礼

ありがとうございます。ほかにも何かアイデアがありましたら教えていただけますか?

kitunekko
質問者

補足

エクセル初心者でも 直感的に扱えるよう、なるべく手作業を排除したいのです。

関連するQ&A

  • pascal二分木の課題

    レポート課題で、pascalの二分木についての問題が出たのですが、うまくソースコードを作ることができません! 誰かお手伝いよろしくお願いします! 課題:progに木をバランスよく組みなおす関数repackを追加せよ program prog(input,output); const maxRange = 100; type dataType = integer; tree = ^treeCall; treeCall = record data:dataType; left,right:tree end; var root:tree; command:char; value:dataType; function search(d:dataType; t:tree):tree; begin if t=nil then search:=nil(*ブレーク*) else if t^.data=d then search:=t(*見つけた*) else if t^.data>d then search:=search(d,t^.left)(*左を検索*) else search:=search(d,t^.right)(*右を検索*) end; procedure insert(d:dataType; var t:tree); begin (**) if t=nil then begin new(t); t^.data:=d; t^.left:=nil; t^.right:=nil end else if t^.data=d then (*すでに登録されているので何もしない*) else if t^.data>d then insert(d,t^.left) else insert(d,t^.right); end; procedure delete(d:dataType; var t:tree); var temp:tree; procedure deleteMin(var r:tree); var temp:tree; begin temp:=r; while temp^.left<>nil do temp:=temp^.left; t^.data:=temp^.data; delete(temp^.data,r) end; begin if t=nil then writeln('Not Exist.') else if t^.data=d then if (t^.left<>nil) and (t^.right<>nil) then deleteMin(t^.right) else begin temp:=t; if t^.left<>nil then t:=t^.left else t:=t^.right; dispose(temp); end else if t^.data>d then delete(d,t^.left) else delete(d,t^.right) end; procedure writeSet(t:tree); begin if t=nil then (*何もしない*) else begin writeSet(t^.left);(*左へ左へ・・・*) write(t^.data:1,' '); writeSet(t^.right)(*右へ・・・*) end end; (****** Body ******) begin root:=nil; repeat write('> '); read(command); if command in ['i','d','s','w'] then begin (*もしもコマンドがw以外なら値を読み込む*) if command='w' then readln else readln(value); case command of (*数値をバイナリーツリーに挿入 ここでソーティングしたい*) 'i': insert(value,root); 'd': delete(value,root);

  • エクセルのマクロで画像を貼り付け 

    画像をエクセルに貼り付ける作業を行っています。 マクロを使いファイル内の画像(約30枚程度)を1列づつスペースを空け 右方向に4枚 1行スペースを空け 3行目の左に戻り その位置よりまた1列づつスペースを空け右方向に4枚・・・・・ これを繰り返しファイル内の画像をすべて 貼り付けたいのですがうまく動作が出来ません。 何卒ご教授の程よろしくお願いします。 ※マクロ Sub EggFunc_pasteDirImage() ' 変数定義 Dim fileName As String Dim targetCol As Integer Dim targetRow As Integer Dim targetCell As Range Dim shell, myPath Dim pos As Integer Dim extention As String Dim isImage As Boolean ' 選択セルを取得 targetCol = ActiveCell.Column targetRow = ActiveCell.Row ' フォルダ選択画面を表示 Set shell = CreateObject("Shell.Application") Set myPath = shell.BrowseForFolder(&O0, "フォルダを選んでください", &H1 + &H10, "C:\Users\0602116.MS\Desktop\") Set shell = Nothing ' フォルダを選択したら... If Not myPath Is Nothing Then fileName = Dir(myPath.Items.Item.Path + "\") Do While fileName <> "" ' ファイル拡張子の判別 isImage = True pos = InStrRev(fileName, ".") If pos > 0 Then Select Case LCase(Mid(fileName, pos + 1)) Case "jpeg" Case "jpg" Case "gif" Case Else isImage = False End Select Else isImage = False End If ' 拡張子が画像であれば If isImage = True Then ' 貼り付け先を選択 Cells(targetRow, targetCol).Select Set targetCell = ActiveCell ' 画像読込み ActiveSheet.Pictures.Insert(myPath.Items.Item.Path + "\" + fileName).Select ' 画像が大きい場合、画像サイズをセル幅に合わせる If Selection.Width > targetCell.Width Or Selection.Height > targetCell.Height Then If Selection.Width / targetCell.Width > Selection.Height / targetCell.Height Then Selection.Height = Selection.Height * (targetCell.Width / Selection.Width) Selection.Width = targetCell.Width Else Selection.Width = Selection.Width * (targetCell.Height / Selection.Height) Selection.Height = targetCell.Height End If End If ' 表示位置をセル中央に移動 Selection.Top = targetCell.Top + (targetCell.Height - Selection.Height) / 2 Selection.Left = targetCell.Left + (targetCell.Width - Selection.Width) / 2 ' 貼り付け先行を+1 targetCol = targetCol + 2 End If fileName = Dir() Loop MsgBox "画像の読込みが終了しました" End If End Sub

  • EXCELの並び替え

    いつもお世話になっています。 エクセルの表を作成する際、 00000~99999までのコード番号で並び替えをしたいのですが、 どういう訳か最初が0から始まる番号が一番下にきてしまいます。 0から始まる番号を一番上に持っていく方法を教えて下さい。

  • エクセルの並び替え

    エクセルで野球の成績表を作っています。 打率、打点、盗塁などいろいろ項目があり、その中の打率順に並び替えるにはどうすればいいでしょうか? いちいちコピペするしかないのでしょうか?

  • エクセルの並び替えが出来ません。

    エクセル2002を使っています。データーを並べ替えようとしましたが、 「この操作には同じサイズの結合セルが必要です」と メッセージが表示されて並べ替えが出来ませんでした。 並べ替え出来る方法を教えてください。 尚、OSはWindows Meです。 宜しくお願い致します。

  • エクセルで並び替えがうまくいきません。

    エクセル2000で並び替えをしている時、先頭行の各セルの項目が「並び替え」ダイアログボックスの「優先されるキー」に表示されず、うまく並び替えることができないことがありました。また、無理やり、「最優先されるキー」のところに、たとえばE列とか入れて並び替えをさせようとしたら、セル内のデータが統一なくバラバラになってしまいました。いったんそのBOOKは捨て、再度テータを再入力したところ、今度は問題なく入力できたのですが、こなことってあるのでしょうか?大切なデータを扱っているので、以後、こんなことがないように防止策を講じたいのですが、どうしたらこんなことになるのか原因をまず知りたいと思います。どなたかご存知の方があれば、教えてください。よろしくお願いします。

  • エクセルでの並び替えについて教えてください

    アクセルの表に数字が入っています この数字の一部を赤字に変更しました この赤字部分だけを抽出もしくは並び替えは可能なんでしょうか どなたか教えて下さい

  • エクセルの並び替えについて

    こんにちは、komo-moと申します。 エクセルの表作っていて「昇順で並び替え」というのをやりたいのですが、「この操作には同じサイズの結合セルが必要です」と注意が出て並び替えできません。 他の表でできる物もありますし、出来ない物もあります。 きっと初歩的なことなのでしょうが分かりません。どうして並び替えできるものとできない物があるのでしょうか? また、どうしたら並び替えが出来るようになるのか教えていただけないでしょうか? よろしくお願いします。結構困ってます。

  • エクセルでの並び変え

    シート1で計算されたセルを含む任意の数カ所の列をシート2にコピーし、シート2でデータを並び変え(昇順)した場合100の位の昇順の後、10の位が昇順にならんでしまいます。ピポットテーブル機能を使用しても同様の結果になりました。通常の昇順通り10の位のあと100の位が並ぶようにしたいのですがどなたかご教授をお願い致します。

  • 並び替えがうまくいきません(エクセル)

    住所録で都道府県を第一のキーとして並び替えをしていますが、うまくいきません。近畿地方のデータですが、大阪府が2つに分かれてソートされてしまいます。どうも上から70行で一旦ソートしてその下から又ソートしているようです。 ピポットテーブルで集計したところ、大阪府は同一データとして集計させています。 よろしくお願いします。