[[20171102185047]] 『自動更新で並び替えをしたい【関数のみ)』(ぶーぶー) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『自動更新で並び替えをしたい【関数のみ)』(ぶーぶー)

エクセル初心者です。ご教授ください。

 作成はデスクトップで行っておりますが、iPad版でも閲覧、入力をしますのでマクロを使用できません。
したがって、関数のみで表の作成を行いたいです。

作業列  担当  日付   日付  精算
  A     B    C     D     E
1 11/18  中村 11/18   11/20
2 11/18  佐藤 12:00        未
3 11/18  池田        夕
4 12/30  以下入力されていることとする
5 12/30 
6 12/30 
7 10/1 
8 10/1 
9 10/1 

 
 入力項目はもっとありますが、上記のような表です。
3列をひとまとめとして、A列を基準に並び替えをしたいです。
A列のセルには、C列の日付を反映させています。
ちなみに、ボタンで並び替えができるのは確認済みです。
 
 レンタカーの受注表なので入力はリアルタイムでしていますが、その場で並び変わらなくても結構です。
次にファイルを開いた際に、自動更新で並び変わっていることが理想です。

 ggったりもしましたが、結局わかりませんでした。
なるべくなら妥協はしたくありませんので、皆様のお知恵をお貸しください。

< 使用 Excel:Excel2013、使用 OS:Windows7 >


あなたのお望みの回答ではないですが。
 
>A列のセルには、C列の日付を反映させています。
佐藤さんのデータについていうと、どのようなことですか?
 
C列が借入日、D列が返却日ということですか?
なぜA列を別に作っているのか不明です。
 
関数でソートですか?
私にはどうしてそれが必要なのか不明です。
普通にソート機能を使ってはいけないのですか?
 
関数でということは、
今のデータとは別の所にソート済みのものを関数で作るということですよね。
なぜ二つの情報を持たないといけないのですか?
 
>その場で並び変わらなくても結構です。
関数でもし作れば、その場で瞬時に反映されることになりますよ。
関数というものはそういうものですが。
 

(γ) 2017/11/03(金) 08:42


γ様

>佐藤さんのデータについていうと、どのようなことですか?
佐藤の行は時間で、池田の行は時間がはっきりしない際のおよその目安です(早朝、昼etc)

おっしゃる通り、C列が貸出日、D列が返却日です。

  A        B       C     D     E
1 =C1 受注受付担当 貸出日 返却日 
2 =C1 貸出受付担当  時間   時間  精算済or未
3 =C1 返却受付担当  およそ  およそ

上記の3列で1セットです。
A列を作業列にしているのは、ボタンで並び替えをする際にC列を優先とできないからです(日付や時間など情報が一律していないため)
ですから、A列に貸出日を反映させてA列を優先としていました。

関数で自動更新したいという理由ですが、レンタカーの受け付けは日々何件もしているので、都度都度膨大な範囲を選択してソートさせるのが非効率ということ、また、電子機器に不慣れな人間もこちらの入力をすることになるので、少しでも操作を簡単にするためです。

>今のデータとは別の所にソート済みのものを関数で作るということですよね。
違います。
「ボタンで並び替えができるのは確認済みです。 」というのは、ボタンでソートできのは分かっている、という意味でした。
なので、ソート機能を使えばいいのでは?という回答は求めていないのです。
上記でも述べました理由で、関数でできるのであればその方法を教えていただきたいのです。

>その場で並び変わらなくても結構です。
ネットで私と似たようなことをしたいという人を見つけた際、回答に
「VBAを使わないのであればリアルタイムでのソートは不可。
 別シートに抽出してのソートなら可。」
という内容がありましたので、そういった意味で記しました。
(ぶーぶー) 2017/11/04(土) 11:00


あなたは関数をどこに入れようとしていますか?
(γ) 2017/11/04(土) 11:20

γ様

恥ずかしながら初心者なもので...
抽出するのであれば、別シートのA1にでも関数をいれて、あとは下に向かってオートフィルでいいのかな?と考えておりました。
(ぶーぶー) 2017/11/04(土) 11:32


関数が達者な方の回答を待って下さい。(私自身は採らないだろう方法なので)

(γ) 2017/11/04(土) 11:46


γ様ならどういった方法は採るのですか?
(ぶーぶー) 2017/11/04(土) 12:27

既にコメントしています。
説得する義務も何もありませんので、これで失礼します。
(γ) 2017/11/04(土) 12:39

お邪魔します。

>都度都度膨大な範囲を選択してソートさせるのが非効率

範囲選択しなくても、
A列のセルをどれでもいいから選択した状態で
ZA↓のボタンをクリックすると
自動で範囲選択されてソートされませんか。

(マナ) 2017/11/04(土) 12:45


マナ様

助言ありがとうございます。
質問に載せた説明の図?は諸々省力したものとなっておりまして、実際は6コ前のレスのように1、2、3列には文字が入力されています。
マナ様の言われた通りやってみたのですが、そのせいでうまくできませんでした...
(ぶーぶー) 2017/11/04(土) 13:01


マナ様

追記としまして、自動更新化したい理由は
>都度都度膨大な範囲を選択してソートさせるのが非効率
こちらの理由よりも
>電子機器に不慣れな人間もこちらの入力をすることになるので、少しでも操作を簡単にするため
こちらの理由のほうが大きいです。
さらに言えば、不慣れな人間が操作するのはiPad版のエクセルなので、あまり操作などはさせず、入力だけで済むようにしてあげたいのです。
(ぶーぶー) 2017/11/04(土) 13:10


>そのせいでうまくできませんでした...

そのせいかどうかわかりませんが

いずれにしても

>不慣れな人間が操作する

ので、ソートはしたくないというこであれば、
わたしも、ここまでにします。

(マナ) 2017/11/04(土) 13:27


γさんマナさんの仰るように、私なら絶対使わないし、良いとも思わない方法ですが、
無理やり考えてみました。

A列はシリアル値が入力されているものと仮定。その他の場合はやり方思いつかなかった。
データはとりあえず1000行と仮定。実情に応じて増やしてもらえばいいと思うが、
動作が遅くなる可能性あり。

 F2: =IF(A2="","",A2+ROW()/10000)
 H2: =SMALL($F$2:$F$1000,ROW(H1))
 I2: =IF(INDEX($A$2:$F$1000,MATCH($H2,$F$2:$F$1000,0),1)="","",INDEX($A$2:$F$1000,MATCH($H2,$F$2:$F$1000,0),1))
 J2: =IF(INDEX($A$2:$F$1000,MATCH($H2,$F$2:$F$1000,0),2)="","",INDEX($A$2:$F$1000,MATCH($H2,$F$2:$F$1000,0),2))
 K2: =IF(INDEX($A$2:$F$1000,MATCH($H2,$F$2:$F$1000,0),3)="","",INDEX($A$2:$F$1000,MATCH($H2,$F$2:$F$1000,0),3))
 L2: =IF(INDEX($A$2:$F$1000,MATCH($H2,$F$2:$F$1000,0),4)="","",INDEX($A$2:$F$1000,MATCH($H2,$F$2:$F$1000,0),4))
 M2: =IF(INDEX($A$2:$F$1000,MATCH($H2,$F$2:$F$1000,0),5)="","",INDEX($A$2:$F$1000,MATCH($H2,$F$2:$F$1000,0),5))

数式入力後、I列を書式設定でm/d形式に。
K,L列を条件付き書式で、
1未満なら時刻形式に
1以上なら日付形式に

みたいな案を考えてはみましたが、
>諸々省力したものとなっておりまして
私の案は役に立たない(やってみても上手く動かない)かもしれませんね。
その場合は他の方の回答をお待ち下さい。

(というか、この私の出した案はあまり良い案とは個人的に思わないので、
もっと良い案他の方なら出してくれるかもしれませんし、
γさんマナさんの仰るように、素直にもとからエクセルに用意されているソート機能を
皆に「このボタン押すんだよ」って教えるほうがトラブルなさそうな気がしますが…
不慣れな人間が扱うのなら、余計に関数壊したりのトラブルありそうですし)

     |[A]   |[B] |[C]  |[D]  |[E] |[F]        |[G]|[H]        |[I]       |[J]     |[K]     |[L]     |[M]     
 [1] |作業列|担当|日付 |日付 |精算|作業列2    |   |作業列3    |転記作業列|転記担当|転記日付|転記日付|転記精算
 [2] |11/18 |中村|11/18|11/20|    |43057.0002 |   |43009.0008 |10/1      |        |        |        |        
 [3] |11/18 |佐藤|12:00|未   |    |43057.0003 |   |43009.0009 |10/1      |        |        |        |        
 [4] |11/18 |池田|夕   |     |    |43057.0004 |   |43009.0010 |10/1      |        |        |        |        
 [5] |12/30 |    |     |     |    |43099.0005 |   |43057.0002 |11/18     |中村    |11/18   |11/20   |        
 [6] |12/30 |    |     |     |    |43099.0006 |   |43057.0003 |11/18     |佐藤    |12:00   |未      |        
 [7] |12/30 |    |     |     |    |43099.0007 |   |43057.0004 |11/18     |池田    |夕      |        |        
 [8] |10/1  |    |     |     |    |43009.0008 |   |43099.0005 |12/30     |        |        |        |        
 [9] |10/1  |    |     |     |    |43009.0009 |   |43099.0006 |          |        |        |        |        
 [10]|10/1  |    |     |     |    |43009.0010 |   |43099.0007 |          |        |        |        |        
(tatara) 2017/11/04(土) 13:32

マナ様

ご提案いただきましてありがとうございました。
(ぶーぶー) 2017/11/04(土) 14:34


tatara様

ご丁寧にありがとうございます。
触ってほしくないところには保護をかければ壊されずに済むのかな
と安易な考えでいます。

こちらの案を参考に、実際のデータと照らし合わせながらやってみようと思います。
行き詰ってしまったらお話を伺いにこちらに来るかもしれません。
その際は、何卒ご教授くださいますようよろしくお願いいたします。
(ぶーぶー) 2017/11/04(土) 14:38


tatara様

ご提案の方法でできました!!!
感動です!!
これでやっと前へ進むことができました。
感謝感激です。
ありがとうございました。
(ぶーぶー) 2017/11/04(土) 16:20


 解決したようで何より。
 >>今のデータとは別の所にソート済みのものを関数で作るということですよね。 
 >違います。
 ということだったけどねえ。

 (1)  補足です。
 関数というものの理解が不足しています。

 「関数で自動更新」と言う言葉からすると、貴方はたぶん、
 別の領域に書き出すのではなく、
 今のデータを関数で自動更新する、ということだったのでしょう。
 それは不可能です。

 関数というものは計算結果を、関数を入れたセルに表示するものです。
 関数によって、そのセル以外の、つまり別のセルの値を変更することはできません。
 これは基本中の基本です。よく理解してください。

 (2)
 それから大事な指摘を忘れていました。

 1行に1データとすべきでしょう。
 今の方式だと、今後のデータ活用に制約がかかってきます。

 例えば、精算未済の一覧表を作る、などという場合、
 1行1データならオートフィルタを掛けるだけですが、
 今の形式だと結構手間がかかります。

 標準的な表にしておくことが基本です。

(γ) 2017/11/04(土) 22:05


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.