Excelで年表を作成しています。
年代と本文を分けたいのですが、どのようにやればよいかわかりません。
例えば、B1のセルに1945年太平洋戦争終結。という文字列が入っています。この中の1945年をA1のセルに移動して、B1のセルには太平洋戦争終結をスペースなしで残したいのですが、Excelでは出来るのでしょうか。
MID関数で移動させる手も考えましたが、手間かかりデータを間違えそうで。
なにか良い方法がありましたら、是非、お教え下さい。
よろしくお願い致します。
過去ログも調べたのですが、見落としていたら申し訳ありません。
No.6ベストアンサー
- 回答日時:
まだ締め切られてないようですので・・・
区切るべき文字を全てピックアップして、何文字目に区切ればいいかをとりあえず数値にする。
C1 =IF(ISNUMBER(FIND("年",B1)),FIND("年",B1),0)
D1 =IF(ISNUMBER(FIND("世紀",B1)),FIND("世紀",B1)+1,0)
「+1」は"世紀"が2文字だから
その他にも区切るべき文字があれば、E1,F1・・・同じように
G1 =LEFT(B1,MAX(C1:H1))
区切るべき文字に"○○年代"とか"○○世紀頃"とかが混ざってると上記の式では失敗。
それから英数混じりでは、Excelの並べ替え機能を使っても、ちゃんと年代順にならないのでは?
結局、手作業・目で確認作業が必要で、数式作って一発で完了とは、いかないのではないでしょうか。
No.5
- 回答日時:
年と事件を分けるルールは何ですか。
どうも質問者のケースではないようです。であればできません。表面的なルールでなくても、深いところのルールでも良いが、ルールがないものは関数にしろVBAにしろC言語でも処理できません。西暦1-4桁+年が圧倒的に多ければ、まず年が固定桁の場合はMID関数、浮動の場合FIND関数で年を探し、それを実行後、別のルールを考えては。
A19の14年ああああ
に対し
B19は=LEFT(A19,FIND("年",A19))
C19は=RIGHT(A19,LEN(A19)-FIND("年",A19))
のように。
No.4
- 回答日時:
たとえば下記のようなマクロを作成し
ツール→マクロ→マクロでオプションを選択
(たとえば)aをいれてOK→キャンセルで
ショートカットを登録します。
これで分割したいセルを選択した状態で
Ctrl+aで文字列が分割できます。
---
Sub m()
Dim a As Range
Set a = ActiveCell
Cells(a.Row, 1) = Left$(a.Value, InStr(1, a.Value, "年"))
Cells(a.Row, 2) = Mid$(a.Value, InStr(1, a.Value, "年") + 1)
End Sub
スマートなやり方ですね。ありがとうございます。
ただ、マクロを使うと失敗したとき“元に戻す”効かないのでは?
一つのSheetに3000近いデータがあるので、マクロは怖いです。
というか、マクロの知識がなかったりして...。
No.3
- 回答日時:
「1945年太平洋戦争終結」
のように必ず年号が4桁かつ先頭に現れるのであればあまりにも単純すぎるので、いろいろなパターンがあってのご質問と見受けられます。もうすこし例を示していただけませんでしょうか?
この回答への補足
ありがとうございます。
確かに4桁ばかりではなく、B.C.やA.D.が先頭に付く数(例B.C.4世紀)や75000などのような5桁の数字もあります。
作業は、歴史資料を集めては、分類せずExcelのセルに貼り付けています。最後に、バラバラな年代(+本文)を年代別にExcelの“並び替え”で整えます。その為に、数字の抽出が必要になります。原則として、年代は必ず本文の前方に置く事としています。よろしくお願い致します。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 関数EXACT(文字列,文字列)とexcelVBA 3 2022/04/14 15:07
- Excel(エクセル) Excelの空文字判定について 7 2023/01/06 13:25
- Excel(エクセル) 【再度】Excelの関数について教えてください。 4 2023/07/28 13:06
- Excel(エクセル) Excelの関数について教えてください。 5 2023/07/28 11:27
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2022/12/26 12:05
- Visual Basic(VBA) Excel VBA 最終行を取得しVlookup関数をコピーする方法をコーディングで教えてください。 3 2023/05/11 13:14
- Excel(エクセル) Excelの文字列を数字に変換する方法について 6 2023/07/31 21:18
- Excel(エクセル) ExcelVBA メモ帳を起動し名前を付けて指定フォルダに保存 2 2022/04/18 13:15
- Excel(エクセル) エクセルの数式で教えてください。 1 2023/02/02 10:20
- その他(Microsoft Office) エクセルの休日について教えてください。 1 2023/01/06 15:45
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
EXCELで特定のセルに表示...
-
エクセル 数字をすべて○などの...
-
Excel内での検索結果をシート...
-
クリックすると文章が表示され...
-
太字に設定されているセルの個...
-
Excelで、図形内の文字をセルに...
-
アポストロフィーの一括挿入 ...
-
Excel ハイパーリンクのURLを別...
-
フォントの色を指定して削除出...
-
マクロを実行すると画像がズレ...
-
Excelでセルをクリックす...
-
エクセル シート保護された共...
-
Excelで挿入した図をセルの中央...
-
エクセルでPDFリンクを大量...
-
EXCELのセルや文字色の反映
-
エクセルマクロ 赤色の文字を検...
-
セル背景や文字を点滅させる方法
-
エクセル シートを保護してる...
-
[エクセル VBA]テキストファ...
-
excelで セルの移動時に...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
EXCELで特定のセルに表示...
-
エクセル 数字をすべて○などの...
-
Excel内での検索結果をシート...
-
Excelで、図形内の文字をセルに...
-
マクロを実行すると画像がズレ...
-
クリックすると文章が表示され...
-
Excelでセルをクリックす...
-
Excelで挿入した図をセルの中央...
-
太字に設定されているセルの個...
-
現在のセルの位置を返す関数は...
-
セルがクリックされた回数をカ...
-
エクセルでの検索ボックスの作...
-
Excel ハイパーリンクのURLを別...
-
エクセルでPDFリンクを大量...
-
Excel2007 色のカウント (VBA)
-
フォントの色を指定して削除出...
-
【EXCEL】先週の月曜日の日付を...
-
VBA 見つからなかった時の処理
-
エクセルでページ数をあるセル...
-
空白セルを空セルに置き換える...
おすすめ情報