MacでEXCELを使用しています。下記のA形態では2

Writer: admin Type: arte Date: 2019-01-14 00:00
MacでEXCELを使用しています。下記のA形態では2列目に改行で経歴が新しい順に登録されています。一番古い経歴のみ書き出してB形態のようにしたいと考えています。実際のファイルではこれが5000〜6000行くらいあります。どなたかお知恵を。A形態 登録番号 経歴0016937 "2010年度 – 2018年度 : A大学, 教授2016年度 : B大学, 教授2011年度 – 2015年度 : B大学, 教授"1013538 "2016年度 – 2018年度 : B大学, 招へい教員2016年度 : B大学, 名誉教授2015年度 – 2016年度 : B大学, 教授"2014831 "2015年度 – 2018年度 : A大学, 特任教授2011年度 – 2016年度 : A大学, 教授2014年度 – 2016年度 : A大学, 特任教授2015年度 : A大学, 教授"0003089 "2004年度 – 2008年度 : B大学, 教授2001年度 – 2004年度 : A大学, 教授2002年度 – 2004年度 : A大学, 教授2000年度 – 2001年度 : A大学, 教授1993年度 – 2000年度 : A大学, 教授"2013273 "2015年度 – 2018年度 : A大学, 名誉教授2016年度 – 2017年度 : A大学, 研究員"1009342 "2016年度 – 2018年度 : C大学, 特任教授2011年度 – 2015年度 : C大学, 教授2013年度 – 2015年度 : C大学, 特任教授2015年度 : C大学, 特任教授" B形態 登録番号 経歴0016937 2011年度 – 2015年度 : B大学,教授1013538 2015年度 – 2016年度 : B大学, 教授2014831 2015年度 : A大学, 教授0003089 1993年度 – 2000年度 : A大学, 教授2013273 2016年度 – 2017年度 : A大学, 研究員1009342 2015年度 : C大学, 特任教授補足取り出したいのは最終行です。文字を減らすための加工で不要な改行を残してしまってました。混乱させてすみません。A形態 登録番号 経歴0016937 "2010年度 – 2018年度 : A大学, 教授2016年度 : B大学, 教授2011年度 – 2015年度 : B大学, 教授"1013538 "2016年度 – 2018年度 : B大学, 招へい教員2016年度 : B大学, 名誉教授2015年度 – 2016年度 : B大学, 教授"2014831 "2015年度 – 2018年度 : A大学, 特任教授2011年度 – 2016年度 : A大学, 教授2014年度 – 2016年度 : A大学, 特任教授2015年度 : A大学, 教授"0003089 "2004年度 – 2008年度 : B大学, 教授2001年度 – 2004年度 : A大学, 教授2002年度 – 2004年度 : A大学, 教授2000年度 – 2001年度 : A大学, 教授1993年度 – 2000年度 : A大学, 教授"2013273 "2015年度 – 2018年度 : A大学, 名誉教授2016年度 – 2017年度 : A大学, 研究員"1009342 "2016年度 – 2018年度 : C大学, 特任教授2011年度 – 2015年度 : C大学, 教授2013年度 – 2015年度 : C大学, 特任教授2015年度 : C大学, 特任教授"###ネックは、「一番古い経歴」が最後の行とは限らないことですね。末尾に0個から数個のセル内改行がある。仕方がないのでスペースをタブにセル内改行をスペースに置換してからtrimで掃除します。それで末尾の余計な改行が消えるので、スペースを「元の文字数分のスペース」に増殖させて右から「元の文字数」とると、たっぷりのスペースの後に最後の経歴があるはず。もういちどtrimで掃除してから退避していたタブをスペースに戻します。###最後の行である保証があるなら、大幅に簡単になります。セル内改行をいきなり「元の文字数分のスペース」に置換して右から「元の文字数」とり、trimで掃除しておしまい。###回答ありがとうございます。なんとかなりそうですね。やってみます。###gru********さんはセル内改行とみているけれど、その添付図では0016937の人は3行使っているようにも見えます。行番号が見えないのが困りますね。いずれにしても行数からしてマクロを使うのが順当かと思います。ただMACの場合バージョンによってはマクロを使えないので一般機能を使うことになると思います。行番号にしてもバージョンにしても情報不足です。マクロにした場合意外と簡単な処理です。0016937なら3行目を取り出すだけの処理ですから、(数式でやると厄介です)ナイス0

 

TAG