FC2ブログ

完全に理解して貰おうってのがそもそも欲の皮の張りすぎじゃねぇの?

身辺雑記です。

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
  1. --/--/--(--) --:--:--|
  2. スポンサー広告

EXCEL

エクセルがあまり得意じゃない人からHELPが来た。



この表を日にちごとに並べ変えるにはどうしたらいいの?と



見たらセルの中に

5月20日(日)とか12月 3日(月)とか並んでました(絶句)

エクセルは賢いからこれでも強引にソートをかけると

ある程度は並び変えてくれるけど

このままでは文字列なので、

エクセルでの数式処理は難しいのだ。



エクセルで扱う日付けは

一見文字のように見えて

実は1900年の1月1日からその日が何日目かという数字だ。

例えば本日2012年5月16日は41045になる。



だからこそ、前後で並び替えたり

足したり、引いたりできるのだ。



さて、この場合の文字を数値にするための問題点は

・後ろに曜日が付いている。

・エクセルの日付の数字は半角。2月ではなく2月である。

しかも、10月と5月の「月」を揃えるために、

5月の頭に空白を入れたりしてるので余計始末が悪い。



全部入力しなおし!が最速であるのは承知の上で処理してみた。



まず月の数字を取りだすために

LEFT(当該セル,FIND("月”,当該セル)-1)

人間の言葉に直すと、

そのセルの中の月って言葉を探して、

月って文字から左に位置する部分の文字を取り出しなさい、てこと

ここまでで5月20日(日)からは、5←ただし全角が抽出されます。



その上で全体にASC関数をかけて全角を半角文字にします。



次に日付の数字を取り出すのにMID(当該セル,FIND(”月”,当該セル)+1,2)

これも同じく月って言葉を探して、

月って文字から後ろの文字を2つ取り出せってこと

(もちろん日の前2つでもいいんだけど、入力した人の空白の入れ方で

こっちの方がまだ正確に取り出せるという判断)

これもASC関数で半角にする。



で、この2つを&ではさんで間に / を入れると

5月20日(日)→5/20になります。



ちなみに曜日は別セルに

RIGTH(当該セル,3)で右から3文字抜き出しで表示



ただ、これだとまだ「文字列」なんですよ、

だから左詰めで表示されてます。

なので隣に空白セルを作ってそこに1と入力して、そのセルをコピー

で、さっきの5/20とあるセルを選択して、

形式を選択して貼り付けで「乗算」を選ぶと、

文字に1をかけることで数値になります。



そうやってみると、上手く数値になっていないセルがあって、

それは元の数字の空白の位置がおかしいせいだから、

ちょこっとそこだけ整理して。

最後にソート。



無事解決
スポンサーサイト
  1. 2012/05/16(水) 21:38:41|
  2. IT
  3. | トラックバック:0
  4. | コメント:0
<<落語 | ホーム | 出産祝い>>

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック

トラックバック URL
http://hiroshi44103.blog.fc2.com/tb.php/25-79a61a2b
この記事にトラックバックする(FC2ブログユーザー)

プロフィール

hiroshi44103

Author:hiroshi44103
FC2ブログへようこそ!

リンク

このブログをリンクに追加する

カウンター

最新記事

最新コメント

最新トラックバック

月別アーカイブ

カテゴリ

未分類 (11)
西荻窪 (2)
鉄道 (3)
IT (15)
ニュース (14)
other (45)
読んだ本 (1)

検索フォーム

RSSリンクの表示

ブロとも申請フォーム

この人とブロともになる

QRコード

QR

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。