【最大10000ポイント】当たる!!質問投稿キャンペーン!

お世話になります、エクセル初心者です。

氏名を入力と同時に、昇順表示にしたいのですが
ネットでいろんな所を探しても分かりません。
こちらでも探してみたのですが見つからず、お知恵拝借させていただければと思い
投稿させていただきました。


仕事で、ひと月の実績を昇順で氏名をリスト作成しているのですが
空き時間に実績がある方を入力できれば、少しでも効率化が図れるので助かります。
(現在ある2種類のシート)
(1)氏名入力をすると住所が自動表示されるようにVLOOKUPで関数を入れたシート。
(2)(1)にデータが飛ぶようにするための、指名・住所の一覧

これとは別に氏名入力をしていくだけで、そのつど昇順になるシートができれば
(1)のシートに氏名貼り付けをして、住所を引っ張ってこれるようにしたいのです。

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

A 回答 (3件)

シート1には(1)の表が有って、シート2にはデータベースとして氏名と住所の表が有るとします。


シート1ではA列に氏名を入力すればB列にVLOOKUP関数でその方の住所が表示されるとします。そこで例えばC列から右の列には何かの実績を示す数値が入力されるとします。それらのデータに基づく氏名などのデータを昇順で並べたものを自動的にシート3に表示させるとしたら次のようにします。
なお、シート1では1行目は項目名でそれぞれのデータは2行目から下方に入力されているとします。
シート3のA1セルには、例えばシート1のC列でのデータを昇順で並べたときの表を作るとしたらシート1のC1セルに入力された項目名を入力します。
シート1の例えばJ列とK列には作業列を設けます。J2セルには次の式を入力して下方にドラッグコピーします。

=IF(OR(A2="",Sheet3!A$1=""),"",RANK(INDEX(A:I,ROW(),MATCH(Sheet3!A$1,A$1:I$1,0)),INDEX(A:I,2,MATCH(Sheet3!A$1,A$1:I$1,0)):INDEX(A:I,1000,MATCH(Sheet3!A$1,A$1:I$1,0)),1)+ROW(A1)/10000)

K2セルには次の式を入力して下方にドラッグコピーします。

=IF(J2="","",RANK(J2,J:J,1))

シート3のA1セルにはシート1で昇順で並べたい項目名を入力します。
2行目にはシート1での1行目をコピーして貼り付けます。
A3セルには次の式を入力してI3セルまで横にドラッグコピーしたのちに下方にもドラッグコピーします。

=IF(ROW(A1)>MAX(Sheet1!$K:$K),"",IF(INDEX(Sheet1!$A:$I,MATCH(ROW(A1),Sheet1!$K:$K,0),COLUMN(A1))="","",INDEX(Sheet1!$A:$I,MATCH(ROW(A1),Sheet1!$K:$K,0),COLUMN(A1))))

これでシート3のA1セルにシート1の1行目に入力された項目名を入力することでその項目名で昇順で並べられた表が自動的に表示されます。勿論、シート1でデータが下行に追加されることが有ればそのデータを自動的に取り込んでデータが昇順で並べられます。
    • good
    • 0
この回答へのお礼

KURUMITO様、お返事遅くなりましたが、お知恵をありがとうございました!

やはり初心者の私にはちょっと理解が難しく^^;
もうちょっと勉強しなければ!
でも、今後使い慣れていく段階で活用させていただける日がくると思いますので
メモをとらせていただきます★
ありがとうございました★☆

お礼日時:2013/07/26 15:00

> 申し遅れましたが、セルの結合をして作表しておりました



結合したセルはソートできません。
であれば、根本的にやり方を見直す必要があるのでは?


> どこを変更すればよいのかが分かりません・・・

一度、やりたい並べ替えの手順をマクロで記録してみると良いです。

左下のステータスバーの「マクロの記録」をクリックして記録開始。
マクロ名はデフォルトのMacro1、保存先は作業中のブック
やりたいソートを実施。Sheet3のA2~C5の範囲を選択、並び替え。
マクロの記録終了。

Alt+F11でVBAを開くと、対象ブックのModule1に、Macro1が記録されています。
説明のために行番号を付加して、こんな感じのハズ。

01:Sub Macro1()
02:'
03:' Macro1 Macro
04:'
05:
06: Range("A2:C5").Select
07: ActiveWorkbook.Worksheets("Sheet3").Sort.SortFields.Clear
08: ActiveWorkbook.Worksheets("Sheet3").Sort.SortFields.Add Key:=Range("A2"), _
09: SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal
10: With ActiveWorkbook.Worksheets("Sheet3").Sort
11: .SetRange Range("A2:C5")
12: .Header = xlNo
13: .MatchCase = False
14: .Orientation = xlTopToBottom
15: .SortMethod = xlPinYin
16: .Apply
17: End With
18:End Sub

コメントや空行は削除。
06行目は、並べ替えの際にセルの選択は必須で無いので削除。
07~09行目はソート条件のクリア、条件設定ですが、10~17行目のソート実施があれば不要なので削除。
15行目はソートにふりがなを使う/使わないですが、差し当たり関係ないと判断して削除。
結果、記録したSheet3の指定範囲をソートする処理は、

Sub Macro1()
With ActiveWorkbook.Worksheets("Sheet3").Sort
.SetRange Range("A2:C5")
.Header = xlNo
.MatchCase = False
.Orientation = xlTopToBottom
.Apply
End With
End Sub

って事になるハズ。
処理の本体を、必要な場所のモジュールに貼り付けします。

この回答への補足

改めまして、再コメントありがとうございます。
なかなか難しいもんですね(T△T)
最初に教えていただいたところからVBAっていうのを開きましたが、
「こんな感じのハズ」とおっしゃったようになっていませんでした・・・
私は途中で何をしてしまったのか・・・
VBAプロジェクトのSheet3をクリックして、右側に
「General」と「Macro1」というのがあって、その下に
Sub Macro1()
With ActiveWorkbook.Worksheets("Sheet3").Sort
.SetRange Range("A2:C5")
.Header = xlNo
.MatchCase = False
.Orientation = xlTopToBottom
.Apply
End With
End Sub
をコピペしてみたけど、これが
「処理の本体を、必要な場所のモジュールに貼り付け」ってことなのか・・・

なんせ、エクセル初心者なものでモジュールっていうのすらわからずで(涙)
VLOOKUPなども、ネットでやり方探してなんとかやりこなしている程度なもんで、
せっかく詳しく解説してくださったのに残念な結果で申し訳ないです。
理解ができなくてすみません。。。
でも、親切にお答えいただき本当にありがとうございます★☆

補足日時:2013/07/19 11:08
    • good
    • 0
この回答へのお礼

遅くなりましたが、
色々と教えていただき感謝いたします★
今回の表には、今の私の技術で生かすことができませんでしたが、
これから色々とExcelで作表していく中でぜひ、今回のお知恵を
活用できるよう、メモを取らせていただきました。
お忙しいところ、本当に有り難うございました!

お礼日時:2013/07/22 10:38

> これとは別に氏名入力をしていくだけで、そのつど昇順になるシートができれば



マクロで入力があった際に並べ替えするとかなら割と簡単です。
・入力終了と同時に並べ替えされるので、どこに入力したか分からなくなります。
・間違って入力したものも並べ替え、どこに行ったか探さなきゃならないので、修正が面倒です。
・マクロの実行はさむとundo出来ません。
など、問題あると思いますが。

手順は、
Alt+F11でVBAを表示。
Sheet1を並べ替えたいとして、Sheet1を右クリック-[コードの表示]。
A列を並べ替えするとして、以下のコードをコピペ。

Private Sub Worksheet_Change(ByVal Target As Range)
With ActiveWorkbook.Worksheets("Sheet1").Sort
.SetRange Range("A:A")
.Orientation = xlTopToBottom
.Apply
End With
End Sub

この回答への補足

●neKo_deux様●

迅速な回答をありがとうございます!
操作手順分かりやすい文章で助かります。

さっそく試してみたところ、動じず・・・
申し遅れましたが、セルの結合をして作表しておりましたm(__)m
貼り付け先を、エクセルを駆使して枠を作ったもので・・・

作成しているエクセルでは
sheet3で、
セルA~Cの3列
縦に2~5の4列
に氏名入力する表になっておりました。
そこで、以下を入力して試したところです。
どこを変更すればよいのかが分かりません・・・
お忙しい所誠に恐れ入りますが、助けていただけると幸いです。

Private Sub Worksheet_Change(ByVal Target As Range)
With ActiveWorkbook.Worksheets("Sheet3").Sort
.SetRange Range("A:A")
.Orientation = xlTopToBottom
.Apply
End With
End Sub

補足日時:2013/07/18 17:12
    • good
    • 0

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

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

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

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

QExcelで入力したデータを自動的に並び替える方法

Excel2000で、名前のリストを作成し、これを、あいうえお順(昇順)に並び替えたものがあります。

このリストに、新しく名前を入力したときに、自動的に昇順の並び替えてくれる方法ってありますか?

質問がわかりにくければ、補足します。
よろしくお願いします。

Aベストアンサー

初めまして。次のようにすれば、貴方様の思い通りの動作をするようになると思います。A列に名前を入力してある設定でコードを記述しています。


Private Sub Worksheet_Change(ByVal Target As Range)

Dim myClm As Integer

If Target.Column <> 1 Then Exit Sub
myClm = ActiveSheet.Cells(1, Columns.Count).End(xlToLeft).Column

Range("A1").CurrentRegion.Sort Key1:=Range("A1"), Order1:=xlAscending, Header:=xlGuess

End Sub

Sheet1のモジュールに上記のコードを記述して下さい。
A列に名前を入力してエンターキーを押した時点で並べ替えが実行されます。

お試しになってみて下さい。

Qエクセルで、自動的にランク順に順番を表示させる方法

エクセルで、自動的にランク順に順番を表示させる方法

エクセル2003を使用しています。

T列に名前、U列にその人の点数が表示されています。
これに対し、点数の高い順に自動的に並べ替えてB列に順位、C列に名前を表示させたいです。

同じ点数がある場合、以下の様な表示をしたいです。
1位 Aさん 80点
2位 Bさん 70点
2位 Cさん 70点
4位 Dさん 60点

表示>並べ替えは使用しないで、関数で対応したいです。
分かる方いましたら、お願いします。

Aベストアンサー

なるべくシンプルな計算式で。

添付図:
S2に
=RANK(U2,U:U)+ROW()/1000
以下コピー。

B2に
=VLOOKUP(SMALL($S:$S,ROW(A1)),$S:$U,COLUMN(),FALSE)
B,C列にコピー。

A2に
=RANK(C2,C:C)
以下コピー,
必要に応じてA列を右クリックしてセルの書式設定の表示形式のユーザー定義で
0位
と設定しておくなど。

Qエクセル 自動で別シートへ並べ替えてコピーするには?

エクセルにて
シート1に
月 日 コード 科目 内容 収入 支出
4 5  1 事務       300
4 6  2 家電      5000
5 3  1 事務       500
5 7  3 水道      2000
という表があったとします。
それをシート2には4月分として日の昇順で尚且つコードの昇順で出力し
シート3には5月分と順番に続きます。

尚且つ合計も出せるとありがたいのですが初心者のためどのようにしたら良いのかわかりません。

このような文書を作成できるのでしょうか?

Aベストアンサー

EXCELには(というかOfficeソフト全体には)行った操作をマクロとして保存できる機能があります。
こういうときこそ利用しましょう。
以下具体的な手順。実際には試してません。

(01)「ツール」→「マクロ」→「新しいマクロの記録」を選択。
(02)「マクロの記録」というウィンドウが開くので、「マクロの保存先」に「個人用マクロブック」を選択し「OK」ボタン押下。※ここでショートカットキーを設定しておくと便利。
(03)Sheet1全体を範囲選択する。※以後この範囲選択はしたままで作業は進む。
(04)「データ」→「並べ替え」を選択。
(05)「並べ替え」というウィンドウが開くので、「2番目に優先されるキー」に「日」を選択し「OK」ボタン押下。
(06)「データ」→「フィルタ」→「オートフィルタ」を選択。
(07)次の手順A~Cを1月から12月まで12回繰り返す。Sheet1にない月は飛ばしてよい。
  (A)Sheet1のA1セル(“月”が入力されているセル)にある▼ボタンを押下し月の数字を選択。
  (B)Sheet1にて(シート全体が範囲選択された状態のまま)CTRL+Cを押下。
  (C)「挿入」→「ワークシート」を選択し新規ワークシートを追加。追加したワークシートが表示されるのでそのままCTRL+Vを押下。
(08)「ツール」→「マクロ」→「記録終了」を選択。
(09)以後、「ツール」→「マクロ」→「マクロ」にて、手順02で設定したのと同じマクロを起動すれば同じ作業が繰り返されます。手順02でショートカットキーを登録してればそのキーを押すだけでも可。

EXCELには(というかOfficeソフト全体には)行った操作をマクロとして保存できる機能があります。
こういうときこそ利用しましょう。
以下具体的な手順。実際には試してません。

(01)「ツール」→「マクロ」→「新しいマクロの記録」を選択。
(02)「マクロの記録」というウィンドウが開くので、「マクロの保存先」に「個人用マクロブック」を選択し「OK」ボタン押下。※ここでショートカットキーを設定しておくと便利。
(03)Sheet1全体を範囲選択する。※以後この範囲選択はしたままで作業は進む。
(04)...続きを読む

Qエクセルで、自動的に並べ替えをしたいのです。。。

こんにちは。
今、ある表の並べ替えの問題で悩んでいます。
(並べ替え、オートフィルタ、条件付書式もやってみましたが、
自分ではできませんでした;;)
その表とは、在庫品のデータの入力された表なんですが、
A     B   C    D   E
01-0023  M1  完了   MBC01 2000/01/02
01-0043  M2  未    MBC02 2003/03/02
01-0123  M1  完了   MBC01 2006/01/02
となっているとします。
並べ替えでも、ある時は”A”項目を昇順で、
またある時は”E”項目を降順で、見てみたいとします。
この場合によっては違う項目をキーに並び替えたい場合、
ボタン等をつけるなどして、アクセスのフォームのように
押せば、その”A”なら”A”をキーに昇順で並び替えられ、
”E”なら”E”をキーに降順で並び替えられる。。。という
夢のような方法があるのでしょうか?
オートフィルタだと、抽出になってしまいますし。。。
2つのシートを作成して、その都度実行する方法ではない、
その時々で違う並び替え方法ってありますか?
できれば、元の表は並び替えず、シート参照をしてみたいと思っているのですが、無茶ですか?
どなたか教えてください、お願いします。。。。。

こんにちは。
今、ある表の並べ替えの問題で悩んでいます。
(並べ替え、オートフィルタ、条件付書式もやってみましたが、
自分ではできませんでした;;)
その表とは、在庫品のデータの入力された表なんですが、
A     B   C    D   E
01-0023  M1  完了   MBC01 2000/01/02
01-0043  M2  未    MBC02 2003/03/02
01-0123  M1  完了   MBC01 2006/01/02
となっているとします。
並べ替えでも、ある時は”A”項目を昇順で、
またある時は”E”項目を降順で、見て...続きを読む

Aベストアンサー

実用で使ったことはありませんが、今考えてみました。
マクロを使えばできそうです。
とりあえず、降順昇順は置いといて、指定したセルの昇順に並べることを考えました。
コマンドボタンをSheet1に1つ貼り付けます。そのクリックイベントに
Private Sub CommandButton1_Click()
Range("A1:C10").Sort Key1:=Range(Range("F1")), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, SortMethod _
:=xlPinYin, DataOption1:=xlSortNormal
End Sub
と入れます。
(A)F1セルに、A2やB2やC2のように、列を表す文字列を入れて、
(B)ソートするセル範囲を範囲指定し、
(C)コマンドボタンをクリックすると、その列で昇順に並べ替えられます。
上記は、並べ替えのマクロの記録をとり、極く一部改造したものですから作りやすいでしょう。
>元の表は並び替えず、シート参照をしてみたいと思っているのですが・・
これはVBAで自動でシートコピーをとって、上記のようなコードをいれれば可能なように「見え」ます。
しかし文字通りではできません。
色々できないかという、疑問は良いですが、VBAでもできるようにならないと、人に答えをもらうことはできても、自分ではできないわけで、できるといえるのかどうか。

実用で使ったことはありませんが、今考えてみました。
マクロを使えばできそうです。
とりあえず、降順昇順は置いといて、指定したセルの昇順に並べることを考えました。
コマンドボタンをSheet1に1つ貼り付けます。そのクリックイベントに
Private Sub CommandButton1_Click()
Range("A1:C10").Sort Key1:=Range(Range("F1")), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, SortMethod _
:=xlPinYin, DataOption1:=x...続きを読む

Qエクセルにてデータを大きい順に並べ替えることを自動でやりたい

sheet1をデータ入力用のシートとし、以下のデータが入っています。
  A  B  C  D
1 あ 5
2 い 4
3 は 8
4 

sheet2は上記のBのデータを大きい順に並べ替えた出力用のシートとし、
以下のように出力されます。
  A  B  C  D
1 は 8
2 あ 5
3 い 4
4 

sheet1のデータが更新されて大きさの順番が変わると、
sheet2の並び順が自動で変わるように出来るのでしょうか?
マクロを使わずに数式でやりたいと思っています。

Aベストアンサー

既出回答に似た考えのやり方があるが
「エクセル 関数 並べ替え」(または前の2つとソート)でWEB照会して見ると
http://pc.nikkeibp.co.jp/article/NPC/20060213/229138/
などがある。
解説が実例入りで詳しいので紹介しておく。
ーー
この方法は
(1)作業列を使う。
(2)同じ値があると困る。
などの問題点はあるが。
ーーー
(2)の点は、同じ値にも次の番号を振るやり方を見つければよい。
例データ
A列   B列
値順位
81
44
26
52
45
53
17

B列B2の式は =RANK(A2,$A$2:$A$10)+COUNTIF($A$1:A2,A2)-1
式を縦方向に複写する。
結果上記。
ーー
並べ替えは例えばF2に
=INDEX($A$2:$A$10,MATCH(ROW()-1,$B$2:$B$10,0),1)
と入れて下方向に式を複写。
結果
8
5
5
4
4
2
1
一種の自称 imogasi方式です。imogasi方式の関連はGoogke照会のこと。(銃器では#N/Aの問題、上記例では1列だが複数列のデータを並べ替える場合などの問題が残っているが、長くなるので略。そちらに書いてあるので略)

既出回答に似た考えのやり方があるが
「エクセル 関数 並べ替え」(または前の2つとソート)でWEB照会して見ると
http://pc.nikkeibp.co.jp/article/NPC/20060213/229138/
などがある。
解説が実例入りで詳しいので紹介しておく。
ーー
この方法は
(1)作業列を使う。
(2)同じ値があると困る。
などの問題点はあるが。
ーーー
(2)の点は、同じ値にも次の番号を振るやり方を見つければよい。
例データ
A列   B列
値順位
81
44
26
52
45
53
17

B列B2の式は =RANK(A2,$A$2:$A...続きを読む

QExcel昇順関数について

データの昇順・降順方法として、メニューから「データ」→「並べ替え」とする方法がありますが、関数で同じことを実現できるものはあるのでしょうか?(例)A列に上から、「5、3、1、4、2」と並んでいるときに、(関数を入力した)B列上から「1、2、3、4、5」と表示する。

Aベストアンサー

A1からA5までデータが入っているものとして、
作業用としてC列に1行目から順位(1,2,3、・・・・)を作っておき、セルB1に
=LARGE($A$1:$A$5,C1)
とし、下の行までコピーします。

Q別のシートで自動的に並べ替えをしたい(エクセル)

エクセル2003を使用しています。

質問があります。
A~C社で見積を取ったとします。
それをひとつのシートで集計します。
(例)
社名 A社 B社 C社
・   (省略)


合計 12 32 25

     ↓  ↓
これを別シートの表紙で自動的に昇順で並べ替えをして比較表を作りたい
社名 金額 差異
A社 12  0
B社 25  13
C社 32  20

予め別シートで社名の位置が固定されて、いちいち並べ替えれば問題ないのですが、元のシートで集計された結果を自動的に別のシートで並べ替えをする方法を教えてください。

Aベストアンサー

データ例 Sheet1のA1:D5
社名A社B社C社
X133
Y101514
Z1148
合計123225
A1:D5を全範囲指定して
コピー
Sheet2に行って、A1をポイント
編集ー形式を選択して貼り付けー行列を入れ替える

A1:E4に
社名XYZ合計
A社110112
B社3151432
C社314825
になりましたが、これではダメですか。合計の小さいもの順なら
Sheet2でE列でソートすればよい。
Sheet1で会社が随時増減するので、上記では都合が悪いのかな。
-----
上記と同じことをしてくれるtranspose 関数がある
=TRNNSPOSE(A1:D6)と入れて、SHIFT+CTRL+ENTERを押す。
これもSheet1に行や列が増えた都度やり直しが必要のよう。

Qエクセルで打ち込んだ数字を自動で別シートに表示したい

エクセルでセルに打ち込んだ数字を自動で別シートに表示できる方法があれば、教えてください。

例えば、シート1のC1に5を打ち込んだら、シート2のD2にシート1で打ち込んだ5が自動で表示される。

また1列すべてを自動で表示させる場合、一つのセルの時と違いがありましたら教えてください。よろしくお願いします。

Aベストアンサー

こんばんは。
入力したセルの値を合計とかでなくて、
純粋に別のシートに自動的に表示したいのであれば、
以下の方法があります。

1.1つのセルだけの場合
例)シート1のC1に5を打ち込んだら、
  シート2のD2にシート1で打ち込んだ5が自動で表示される

⇒シート2のD2のセルをアクティブにして「=」を入力
 した後、シート1のC1をクリックする。
 そうするとD2のセルに「=Sheet1!C1」と表示され、値が自動的に
 表示されるようになります。

2.1列全てコピーしたい場合。
  コピー&リンク貼り付けを使うと便利です。

例)例)シート1のC1~C5に何かを入力したら、
  シート2のD2~D7にシート1で打ち込んだものが自動で表示される

  シート1にあるコピー元のセルを範囲選択して、
  シート2のD2の上で「右クリック」⇒「形式を選択して貼り付け」
  をクリックします。

  そして出てきた小さな画面の左下にある「リンク貼り付け」という
  ボタンをクリックすると完成です。
  試してみてください。。

  念のためにリンク貼り付けを図解しているURLを載せておきます。
  参考にしてみてくださいね。。
  http://www.geocities.jp/office_inoue/excel/eq21.htm

こんばんは。
入力したセルの値を合計とかでなくて、
純粋に別のシートに自動的に表示したいのであれば、
以下の方法があります。

1.1つのセルだけの場合
例)シート1のC1に5を打ち込んだら、
  シート2のD2にシート1で打ち込んだ5が自動で表示される

⇒シート2のD2のセルをアクティブにして「=」を入力
 した後、シート1のC1をクリックする。
 そうするとD2のセルに「=Sheet1!C1」と表示され、値が自動的に
 表示されるようになります。

2.1列全てコピーしたい場合。
  コ...続きを読む

Qエクセルで、条件に一致した行を別のセルに抜き出す方法

エクセルで、指定した条件に一致するセルを含む行をすべて抜き出す方法が知りたいです。

たとえば、

<A列> <B列> <C列>
7/1 りんご 100円
7/2 ぶどう 200円
7/2 すいか 300円
7/3 みかん 100円

このような表があって、100円を含む行をそのままの形で、
別のセル(同じシート内)に抜き出したいのですが。

7/1 りんご 100円
7/3 みかん 100円

抽出するだけならオートフィルターでもできますが、
抽出結果を自動的に、別の場所に、常に表示させておきたいのです。

初歩的な質問だと思いますが、検索しても分からなかったので、よろしくお願いします。

Aベストアンサー

同じ質問が結構よく出てますが、そんなに初歩的でもありません
別シートのA1セルに「100円」と入力し、そのシートの任意のセルに以下の式を貼り付けて下さい。後は、下方向、右方向にコピー。
日付のセル書式は「日付」形式に再設定してください

=IF(COUNTIF(Sheet1!$C:$C,$A$1)>=ROW(A1),INDEX(Sheet1!A:A,LARGE(INDEX((Sheet1!$C$1:$C$500=$A$1)*ROW(Sheet1!$C$1:$C$500),),COUNTIF(Sheet1!$C:$C,$A$1)-ROW(A1)+1)),"")

データ範囲は500行までとしていますが、必要に応じて変更して下さい

Qエクセル 0や空白のセルをグラフに反映させない方法

以下の点でどなたかお教えください。

H18.1~H20.12までの毎月の売上高を表に記載し、その表を元にグラフを作成しています。グラフに反映させる表の範囲はH18.1~H20.12の全てです。
そのためまだ経過していない期間のセルが空白になり、そこがグラフに反映され見づらくなります。
データを入力する都度グラフの範囲を変更すればいいのですが、うまく算式や設定等で空白や0円となっているセルをグラフに反映させない方法はありますか?

お手数ですが、よろしくお願いいたします。

Aベストアンサー

売上高のセルは数式で求められているのですよね?
それなら
=IF(現在の数式=0,NA(),現在の数式)
としてみてください。
つまり、0の場合はN/Aエラーにしてしまうんです。N/Aエラーはグラフに反映されません。


人気Q&Aランキング