久方ぶりにExcelの宿題です。実データはない、お話の中の空想の課題だと思ってください。条件・環境は次の通りです。Excelのブック(ファイル)があります。単位町内会ごとにシートになっていて15枚。ひとつのシートは、A列・シート内の逐次番号、B列・氏名、C列・町丁名、D列・番地、E列・生年月日、F列・備考1シートあたり10件のところもあれば、170件のところもある。収録総人数は約1700名で1943年生まれ以前。すべてのシートから、今回は1934年生まれ以前の人を抽出し、単位町内会ごとに生年月日降順で、別シートにする。その別シートは、印刷時、見出し1行+データ25行を収納し、単位町内会が異なっても続けて一つのページに収める。生年月日のなかから、対象・非対象の区別をつける現在の見かけ上の表示例は、「S09.12.31」で表示元データは「1934/12/31」。これを表示しているセル内の書式を「文字列」にするとシリアル値(12784)が表示されます。「S10.01.01」(1935/1/1)の方は対象外です(シリアル値は、12785)。今回の条件で、月日は関係なく、年だけ気をつければOKみたいです。毎年対象とする年はひとつずつプラスされますので、現在年から79を引くと対象年のなかで一番大きい数(=生まれが遅い=若い人)を見つける目印とすることができそうです。関数DATEVALUE(生年月日のセル)エクセルは、日付をシリアル値で管理しています。表示している「S09.12.31」が正しく認識されるか「DATEVALUE」関数で試したらNGでした。認識できないセル値というエラーです。今回の場合、セルの表示形式を「文字列」にしたら日付のシリアル値が表示されました(実データはシリアル値が入っていた...)ので、これにYEAR関数を使うと、正しく、1934の判定に使う年が表示が得られたことになります。日付を作ったときの条件により見かけは同じようでもパソコン的には異なった内容になっている可能性もあります。シリアル値を得ようと失敗しても、イロイロ試してみたら案外成功するかも...。YEAR(一つ左のセル)上のテーブルのような手順で、元データの表示から西暦年を表示させることができました。実際には、一気にやりますけどね。これで、セルに表示されている生年月日から対象・非対象を選り分ける目印ができたことになります。一つのシート内のデータがある行の最後を求める単位町内会の対象者が多いところで170件というようなことですから、1行目から200件ぐらいまでを順次処理していくというのでもOKですが、すこしスマートに、そうですね、自動的に使用セルの最後の行番号を得る、というのが良いかもしれません。ワークシートの最終行、最終列を取得する第18回.最終行の取得(End,Rows.Count)結果的にどうするかは、今回条件に書いてないことも影響を受けそうですので、あえてスルーということで。すべてのシートを調べるシート数を調べ、それをすべて巡回する必要がありそうです。シート操作関連のテクニック概略シートの数を得るシート1からNまで順番に見ていく各シート内で対象かどうか行ごとに判定し、対象であれば行内の各セルを配列に収めるシートNまでチェックがすんだら、N+1番目のシートを作成(書式設定省略)配列に収めた対象データをN+1番目のシートに貼り付ける以上のような流れでしょうか。Excelやらないもので、苦手...。爺の中では概略が絵になったので、なんとかできるんじゃないかと妄想中...。デジカメをはじめ写真、画像処理などもろもろをピックアップ。アクティブで大きなリンク集みたいになったらいいな~と努力中です。tweet最新記事HTTPSのURLへ引越しました。散歩:とある場所は「タチション」の場所になっていると物撮り:スマホとデジイチでアピオス(ほど芋)を撮り比べ散歩:燃えないごみの日だけど無茶苦茶なGS(ゴミステーション)のようす外国のみなさんの寒さ対策などで、多くの方にご協力いただいてます。はてなブログPro写真、PC、ネット、岡山の話題をお届けします。)amazon関連記事HTTPSのURLへ引越しました。黒背景の黒...宅内掃除:爺が一番に片づけられる?久方ぶりに家の中であれ...はてなブログをはじめよう!PageTAKAさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。