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

エクセル2007で並べ替えをしていますが
うまくできません。

「空白>数字昇順」にしたいのですが
空白セルを無視して 
値が入っているセルのみで
ならべかえられてしまいます。

基本的な質問で申し訳ありませんが
よろしくお願いします。

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

A 回答 (4件)

エクセルの並べ替え機能を使うと、残念ながら、空白は、一番下になります。


簡単なのは、空白に「0」を入れておいて、昇順を使うと上のほうになります。

マクロを使う方法もあるそうですが、その方法は、わかりません。
    • good
    • 0
この回答へのお礼

アドバイスありがとうございます♪
やっぱり、それが一番懸命な方法のようですね!><

あんまり難しい設定は(マクロとか)
できないとおもうので、
0を入れて並べ替え>文字色白にして 見えないようにすることにしました!

お礼日時:2011/04/11 16:41

毎日昇順で並べ替えているのでしたら。

クイックアクセスツールバーに「昇順で並べ替え」コマンドを入れておくといいのでは?

クイックアクセスツールバーのカスタマイズ方法について・・・
リボンのさらに上にある小さなアイコンの場所で右クリック
「クイックアクセスツールバー」と書いてある部分をクリックするとユーザー設定画面が開きます
左右に選択するところがありますので、その右側の部分から「昇順で並べ替え」と書いてあると場所が下ほどにありますので見つけたらそれを選択して「追加」をくりっくすると、右の画面上にアイコンが追加されます
追加後は「OK」でユーザー設定画面を閉じてクイックアクセスツールバーの中に「昇順で並べ替え」アイコンがあるか確認

次に・・・(添付画像より説明)
A2セルをクリック後「Shift」キーを押したまま数値の入力されている最後のセルでクリック
添付画像ではA2をクリックして「Shift」キーを押したままA10をクリックします(1行目の空白セルは範囲に入れないこと)
クイックアクセスツールバーに先程追加した「昇順で並べ替え」アイコン(コマンド)をクリックしてあげると昇順で並べ替えられます

そういうことじゃなくて~ってことでしょうかねぇ・・・? 
「【エクセル】Excel2007 並べ替え」の回答画像3
    • good
    • 0
この回答へのお礼

画像までつけていただいてありがとうございます。

残念ながらそういうことじゃ…ないんです。

この画像を例にお話すると、
並べ替えをしたあとに 

「A2~A4は空白、
 続いて数字が昇順に並ぶ」

というのが、私の目指す形なんです。

回答者様のやり方だと、
空白セルが数字より下になってしまいます。
(降順に並べ替えても同じこと…)

お礼日時:2011/04/11 15:45

毎朝入力しているとのことでしたら日付の列が用意されていることでしょう。

例えばA2セルから下方には日付が例えばA2セルに4/11,A3セルが空白セル、A4セルには4/12,A5セルは空白のセル、A6セルも空白セル、A7セルには4/10,A8セルは空白セル、A9セルには4/13とデータが入力されているとします。
そこで並べ替えのための作業列としてC1セルには並べ替え列とでも入力してからC2セルには次の式を入力して下方にオートフィルドラッグします。

=IF(ISNUMBER(A2),RANK(A2,A:A,1),IF(AND(A2="",COUNT(A2:A$1000)>0),C1,""))

これでC列にはA列で空白のセルでも番号が表示されます。

その後にA列からC列までを選択し、「ホーム」タブの「並べ替えとフィルター」をクリックし、「ユーザー設定の並べ替え」を選択します。表示の画面で「先頭行をデータの見出しとして使用する」にチェックをしてから最優先されるキーに「並べ替え列」を、順序は昇順でOKすればよいでしょう。

例では日付を並べ替えの対象にしていますが、これに限ったことではありません。ご自分が今並べ替えを行いたい列を対象に上記と同様の式をたてて並べ替えをすればよいでしょう。

この回答への補足

回答ありがとうございます。

やってみましたが、日付のみが並べ替えの対象となってしまい
やはり、空白は無視されてしまいます。

空白の中では、C列のナンバー順になるのですが、
ならべかえた時に 空白が一番上にくるようにしたいのです…。

私が指示どおりに作れてないのかな…

補足日時:2011/04/11 13:35
    • good
    • 0

並び替え対象の表範囲を「全て選択」した状態で並び替え後、空白行を切り取り→先頭に挿入で如何でしょうか。

この回答への補足

回答ありがとうございます。

確かにそうすれば空白セルが上にきますね。
実は、空白セルを含む行が毎日追加されていくのですよ。

毎朝1回の並べ替えで作業を完了させたいのと、
空白セルを含むセルが多すぎて正しく切り取りするのが
大変なのです…

補足日時:2011/04/11 10:45
    • good
    • 0

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

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

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

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

Qエクセル プルダウンの作り方

お世話になります。
エクセルでプルダウンの作り方を教えていただけませんでしょうか?
住所を▼のボタンでクリックしたら【北海道,青森,秋田,岩手・・・】などの選択ができるようにしたいのです。
宜しくお願いします。

Aベストアンサー

メニューから「データ」、「入力規則」、「設定」で「入力値の種類」を「リスト」を選択します。
そうすると「元の値」という表示がでますので、そこで前もって作っておいたリストの範囲を指定します。
多くないのでしたら、そのままそこにカンマで区切って入力しても出来ます。

Qエクセルの内部エラー【エクセル2007】

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

さて、エクセルのマクロ付きファイルを実行しようとしたのですが

非表示モジュール MpubFolderBrowse内でコンパイルエラーが発生しました

というエラーメッセージがでてとまってしまいました。何度やっても状況は同じ
です。なおこのエクセルについては、特定のファイルを書き直しするもので
あり、信頼できるものです。

ネットで検索してみたのですが、該当するものがでてきませんでした。
よろしくお願いします。





Aベストアンサー

こんにちは

マクロの作成者に解決を依頼した方が早いかと思われます。

VBEを開いて、マクロが記述されているプロジェクト(モジュール)が開けるようなら、MpubFolderBrowseプロシージャをステップ実行してみてください。エラーの箇所が分かるかと思われます。

Qエクセルでプルダウンメニューの作り方

  エクセルの画面で、よく三角形を逆さまにした形をクリックするといくつかメニューが出てき、どれかを選べるようになっていますが、その作り方を教えてください。
 会社で人事を担当していますが、三角形(プルダウンボタン)をクリックすると社員氏名一覧が表示され、そこから選択できるようにしたいのです。
 しばらく自力でいろいろやってみましたが、さっぱり見当がつかず、どうやればいいのか分かりませんでした。よろしくお願いします。

Aベストアンサー

こんばんは!
当方使用のExcel2003での一例です!

↓の画像のようにSheet2に名簿表を作成しておきます。
画像ではSheet2のA2セル以降を範囲指定 → 名前ボックスに仮に「名簿」と入力しOK
これで範囲指定したセルが「名簿」と名前定義されましたので、

Sheet1のリスト表示させたいセルを範囲指定 → メニュー → データ → 入力規則
→ リスト → 「元の値」の欄に
=名簿
としてOK

これでSheet1のセルをアクティブにすると右側に下向き▼が表示されますので、そこをクリック!
これで希望に近い形にならないでしょうか?
Excel2007の場合は↓のURLが参考になるかもしれません。

http://www.eurus.dti.ne.jp/~yoneyama/Excel2007/excel2007-ny_kis2.html

尚、同一Sheetに「名簿表」を作成する場合は名前定義する必要はなくて
「元の値」の右側の四角をクリックし、リスト表示したいセルをそのまま範囲指定すればOKです。

以上、お役に立てば良いのですが・・・m(_ _)m

こんばんは!
当方使用のExcel2003での一例です!

↓の画像のようにSheet2に名簿表を作成しておきます。
画像ではSheet2のA2セル以降を範囲指定 → 名前ボックスに仮に「名簿」と入力しOK
これで範囲指定したセルが「名簿」と名前定義されましたので、

Sheet1のリスト表示させたいセルを範囲指定 → メニュー → データ → 入力規則
→ リスト → 「元の値」の欄に
=名簿
としてOK

これでSheet1のセルをアクティブにすると右側に下向き▼が表示されますので、そこをクリック!
これで希望に近い形にならない...続きを読む

Q【EXCEL2007】 リストの表示について

いつもこちらにはお世話になっております。
すみません、リストの作成でお聞きしたい事があります。
ご存知の方がいらっしゃいましたらお教えください。

リストを作成して、
あるシートでは、ドロップタウン?が該当セルより出ないのに
もう一つのシートでは、ドロップタウンが、該当セルからはみ出ます。
二つの違いを調べたのですが、どうにも・・・分からず。

なぜでしょうか。よろしくお願いいたします。

Aベストアンサー

下記に参考リンクを示します。

元来はエクセルのバグですが,これを利用してプルダウンの横幅を広げて見せることが確かに出来ます。
ただ,ちょっとシートをいじってしまうと「バグ発生の条件」から外れて,効果を失うことがままあります。

参考URL:http://support.microsoft.com/kb/871080/ja

Qエクセル(Excel) 納品書の作り方【画像修正版

昨日http://oshiete.goo.ne.jp/qa/7348426.htmlで質問させていただき、詳しくご回答いただき少し進んだのですが、状況が変わったので改めて質問させていただきます。

■エクセル(Excel)で納品書の作成をしています。
シート1に納品書、シート2に商品マスタ(一覧)を作っていて、シート2の一覧を反映させて
納品書に番号を打ち込むだけで、商品名・単価までが出るシステムを作りたいのですが、
昨日のご回答の中の「VLOOKUP」?を入れて、自分なりにマス目の数字を変えてやってみたのですが
反映されずN/?のようなエラーになってしまいます。

※画像が見にくかったのでシート<CENTER></CENTER>だけにしました。

1、上記のように、シート2との関連付けの係数を、写真の場合の数字で教えてください。

2、合計と、合計から20%を引いた数値を割り出す関数も、写真の数字で御願いします。

宜しくご教授お願い致します。

Aベストアンサー

こんばんは!
前回投稿した者です。

当方もかなり古い(人間も古い!なぁ~んちゃって!)Excel2003を使用しています。
↓の画像のようにSheet2にデータを作成しておきます。

#N/A というエラーは、「検索値」がない!ということですので
お示しの画像のB列にSheet2のA列にないデータを入力するとそういったエラーが表示されます。

画像のセル配置ですと
C4セルに
=IF($B4="","",VLOOKUP($B4,Sheet2!$A:$C,COLUMN(B1),0))
(「$」マークの位置に気を付けてください)
という数式を入れD4セルまでオートフィルでコピー!
そのまま最後の24行目までコピーしておきます。

F4セルには
=IF(COUNTBLANK(B4:E4),"",D4*E4)
という数式を入れ、F24までオートフィルでコピー!

これでB列に商品番号を入力すればSheet2のデータが反映され、
E列に数量を入力でF列に金額が表示されると思います。

最後に合計金額のF26セルは
=IF(COUNT(F4:F24),SUM(F4:F24),"")
手数料のF27セルは
=IF(F26="","",F26*0.2)

これで何とか形にならないでしょうか?

※ 振込金額の欄は不明ですので手を付けていません。

参考になりますかね?m(_ _)m

こんばんは!
前回投稿した者です。

当方もかなり古い(人間も古い!なぁ~んちゃって!)Excel2003を使用しています。
↓の画像のようにSheet2にデータを作成しておきます。

#N/A というエラーは、「検索値」がない!ということですので
お示しの画像のB列にSheet2のA列にないデータを入力するとそういったエラーが表示されます。

画像のセル配置ですと
C4セルに
=IF($B4="","",VLOOKUP($B4,Sheet2!$A:$C,COLUMN(B1),0))
(「$」マークの位置に気を付けてください)
という数式を入れD4セルまでオートフィルで...続きを読む

Q【Excel 2007】クエリが実行できません

データタブ⇒その他のデータソース⇒Microsoft Query⇒クエリウィザードを使ってデータ抽出を行ないました。同一ブック内に元となるデータシート、抽出データシートを作成しています。こここまではうまくできました。しかし、作成したブックを同一パソコンの別フォルダに移動したところ、エラーが出てデータ接続ができません。具体的には、「実行時エラー'1004' 一般エラー ODBCエラー」がでます。ブックを元の場所に戻すとエラーが出ずきちんと集計できます。作成したブックを移動してもデータ接続を行い、クエリがきちんと実行できるようにするにはどうしたら解決するでしょうか?もう一度ウィザードからやるのは大変です。

データ参照場所を再設定すればできそうなのですが、やり方が分かりません。例えばマイドキュメント⇒デスクトップにブックを移動した場合だとどのようになりますか?自分でも調べて試してみたのですがうまくできません。よろしくお願いします。

Aベストアンサー

2003互換Bookの場合、
[データ]-[接続]、[プロパティ]、[接続のプロパティ]の[定義]タブの
「コマンド文字列」内の FROM句 にもファイルフルパスがあるようですね。
ここも書き換えてください。
書き換え後、ダイアログを閉じる時にエラーメッセージが出る事もあるかもしれません。
その場合は取り敢えず続行させてください。
改めて[更新]すれば、その後は継続して更新可能になるかと思います。

Qエクセル(Excel) 納品書の作り方【改めて】

昨日http://oshiete.goo.ne.jp/qa/7348426.htmlで質問させていただき、詳しくご回答いただき少し進んだのですが、状況が変わったので改めて質問させていただきます。

■エクセル(Excel)で納品書の作成をしています。
シート1に納品書、シート2に商品マスタ(一覧)を作っていて、シート2の一覧を反映させて
納品書に番号を打ち込むだけで、商品名・単価までが出るシステムを作りたいのですが、
昨日のご回答の中の「VLOOKUP」?を入れて、自分なりにマス目の数字を変えてやってみたのですが
反映されずN/?のようなエラーになってしまいます。

※画像が貼り付けてあります。商品名は1番以外伏せさせていただいています。
くっつけてありますが、左側がシート1・右側がシート2です。

1、上記のように、シート2との関連付けの係数を、写真の場合の数字で教えてください。

2、合計と、合計から20%を引いた数値を割り出す関数も、写真の数字で御願いします。

宜しくご教授お願い致します。

Aベストアンサー

画像がいまいちよく見えないのですが、納品書の項目は左から、No、商品番号、商品名、単価、数量、金額でいいのでしょうか(名前は多少違っていても意味があっていればもんだいないです)

でしたら、
C1セルに=IF(ISBLANK(B2),"",VLOOKUP(B2,Sheet2!$A$2:$C$200,2,FALSE))
D1セルに=IF(ISBLANK(B2),"",VLOOKUP(B2,Sheet2!$A$2:$C$200,3,FALSE))
E1セルは空白で
F1セルに=IF(D2="","",D2*E2)
といれて、C1からF1までをコピーしてその下の行にタテに貼り付ければ出来ますよ。
おそらくエラーが出たのは、コピーしたときにVLOOKUP関数の最初のセルの指定がずれてしまっているのでは無いかと思いますよ。     

Q【Excel2007】グラフ線太さのデフォルト設定

【Excel2007】グラフ線太さのデフォルト設定

 今晩は,質問させていただきます.どうぞよろしくお願いいたします.
 Excel2007で20~100本程度のグラフを描いて比較しておりますが、
デフォルトの太さが太いため、これをすべて細線にするのに手間取っております。
もともとグラフの線を細く(1ピクセルくらい)する設定かもしくは、
グラフ中のすべての線を一度に細くするような方法などございませんでしょうか?

 もしお詳しい方がいらっしゃいましたら,ぜひともアドバイスいただきたく
どうぞよろしくお願いいたします。

Aベストアンサー

折れ線グラフですか?
データ系列の書式設定で、線を細く設定したグラフをテンプレートとして保存し、使いまわせばどうでしょうか。

グラフテンプレートとして保存
http://www.becoolusers.com/excel/chart-template1.html
グラフテンプレートでグラフ作成
http://www.becoolusers.com/excel/chart-template2.html


あるいは、グラフ作成後マクロで設定
線の太さは4種類しかなく、余り細かな設定は出来ません。

Sub test1()
Dim ser As Series

With ActiveChart
For Each ser In .SeriesCollection
ser.Border.Weight = 1
Next
End With
End Sub

Qエクセル2007でプルダウンで選んだものに反応

Excel2007でプルダウンで選んだものに反応して隣のセルが自動入力される方法(エクセル2007)
A1をプルダウンで「猫」「犬」から選べるようにし、「猫」を選んだ場合B1に自動に「111」が、「犬」を選んだ場合B1に自動に「222」と入力されるようにしたいです。
ご教授の程、宜しくお願いします。

Aベストアンサー

VLOOKUP関数での方法です。
(1)別シートに入力文字列と対応コード表を作成。(仮にSheet2のA:B列範囲で順不同)
(2)B1に=IF(COUNTIF(Sheet2!A:A,A1),VLOOKUP(A1,Sheet2!A:B,2FALSE),"")を設定
   入力文字列が存在しない場合は空白としています。

Q【初心者】excel2007 特定のデータだけ別シートに移動したい

相談させてください。
エクセル2007で特定の情報だけ別シートに移動させる方法はあるでしょうか??
-------------------------------------------------------------
<例>Sheet1
かばんA  ○○○  9/1   
かばんB  *******  9/1 
ノートA  ×××  9/2 
ノートB  ○○○  9/3 
かばんB  ○○○  9/4 
かばんA  ××× 9/5 

例えば、、、
「かばんA」「かばんB」のデータだけSheet2へ
「ノートA」「ノートB」のデータだけsheet3へ
-------------------------------------------------------------
ちなみに「かばん」「ノート」の行は入力規則を使用し、プルダウンになっています。
さらにSheet1の情報をSheey2 Sheet3などに移動させたいのですが、Sheet1にも「全体の情報」という意味でデータを残しておきたいのです。

データは日付がきちんと順番になるようにしたいのです。

思いつくのは。ソートをかけてから、コピペで移動しか思いつきません。
でも量が膨大すぎて・・・。
なにかうまくデータを抽出できないでしょうか??

よろしくおねがいいたします。

相談させてください。
エクセル2007で特定の情報だけ別シートに移動させる方法はあるでしょうか??
-------------------------------------------------------------
<例>Sheet1
かばんA  ○○○  9/1   
かばんB  *******  9/1 
ノートA  ×××  9/2 
ノートB  ○○○  9/3 
かばんB  ○○○  9/4 
かばんA  ××× 9/5 

例えば、、、
「かばんA」「かばんB」のデータだけSheet2へ
「ノートA」「ノートB」のデータだけsheet3へ
-------------------------------------------...続きを読む

Aベストアンサー

次のようにしてはどうでしょう。
シート1の2行目からデータがあり、A列にはかばんAなどのデータが、B列には、・・・、C列には日付があるとします。他にE列まで使用されているものとします。
作業列として例えばシート2に表示させるためにF1セルには「かばん」と入力します。
F2セルには次の式を入力します。
=IF($A2="","",IF(ISNUMBER(FIND(F$1,$A:$A)),$C2+COUNT(F$1:F1)*0.0001,""))
G2セルには次の式を入力します。
=IF(F2="","",RANK(F2,F:F,1))
シート3に表示させるためにH1セルには「ノート」と入力します。
H2セルには次の式を入力します。
=IF($A2="","",IF(ISNUMBER(FIND(H$1,$A:$A)),$C2+COUNT(H$1:H1)*0.0001,""))
I2セルには次の式を入力します。
=IF(H2="","",RANK(H2,H:H,1))
F2からI2セルまでを範囲として選んで下方にオートフィルドラッグします。
シート2ではA2セルに次の式を入力して右横方向にオートフィルドラッグしたのちに下方にもオートフィルドラッグします。
=IF(OR(COUNTIF(Sheet1!$G:$G,ROW(A1))=0,COLUMN(A1)>5),"",INDEX(Sheet1!$A:$E,MATCH(ROW(A1),Sheet1!$G:$G,0),COLUMN(A1)))
なお、C列を選択してセルの書式設定から表示形式で日付を設定します。
これでシート2にはかばん関係のデータが日付の古い順から下に表示されます。
シート3については次の式を入力して上と同様にすればよいでしょう。
=IF(OR(COUNTIF(Sheet1!$I:$I,ROW(A1))=0,COLUMN(A1)>5),"",INDEX(Sheet1!$A:$E,MATCH(ROW(A1),Sheet1!$I:$I,0),COLUMN(A1)))
なお、シート1の元のデータでは日付を昇順にするなどの操作は全く必要ありません。

次のようにしてはどうでしょう。
シート1の2行目からデータがあり、A列にはかばんAなどのデータが、B列には、・・・、C列には日付があるとします。他にE列まで使用されているものとします。
作業列として例えばシート2に表示させるためにF1セルには「かばん」と入力します。
F2セルには次の式を入力します。
=IF($A2="","",IF(ISNUMBER(FIND(F$1,$A:$A)),$C2+COUNT(F$1:F1)*0.0001,""))
G2セルには次の式を入力します。
=IF(F2="","",RANK(F2,F:F,1))
シート3に表示させるためにH1セルには「ノー...続きを読む


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

人気Q&Aランキング

おすすめ情報