EXCELに詳しい方がいらっしゃいましたら、すみませんがお教えください。
EXCELであるシートに以下のように一定ではない並びで「名前(年齢)」と複数のセルに入力してあったとします。
【BEFORE】
ヤマダ ハナコ(25)
ヤマダ タロウ(52)
スズキ ジロウ(13)
この時、この年齢に1歳加え、以下のような状態にしたいと思っています。
【AFTER】
ヤマダ ハナコ(26)
ヤマダ タロウ(53)
スズキ ジロウ(14)
そこで、上記のように3つくらいであれば普通に年齢を手補正すればいいのですが、数が大量にある時に、何か簡単にプラス1歳をしていく方法はありませんでしょうか?
ややこしいことに、いろんな年齢の人がいるので置換を使っても手間がかかりますし、名前と年齢がひとつのセルに文字列として入っているうえ、列などが一定ではないので「=A2+1」といった簡単な数式を使うわけにもいきません。
(これは何かというと人名年齢入りの会社の組織図みたいなものなのです)
どなた何か良いアイディアがありましたらどうぞよろしくお願い致します。
No.2ベストアンサー
- 回答日時:
同一セルに加算はVBAでないと難しいので一例です。
※実施は、原シートを別シートにコピーしてコピー先のシートで実施してください。
(1)コピー先シートのシートタブ上で右クリック→コードの表示
(2)以下のコードを貼り付け、「セル範囲」の部分を書き換え
(3)VBEを終了(右上枠の×キーまたは、Alt+F4キー押下)
(4)ツール→マクロ→マクロ表示→「歳加算」を選択→OK
Sub 歳加算()
セル範囲 = "A1:J10"
セル数 = Range(セル範囲).Cells.Count
For i = 1 To セル数
x = InStr(1, Range(セル範囲).Cells(i), "(", vbTextCompare)
y = InStr(1, Range(セル範囲).Cells(i), ")", vbTextCompare)
If x > 0 Then
歳 = Mid(Range(セル範囲).Cells(i), x + 1, y - x - 1) + 1
Range(セル範囲).Cells(i) = Left(Range(セル範囲).Cells(i), x) & 歳 & ")"
End If
Next
End Sub
No.1
- 回答日時:
カッコ内の数字を抜き出して1加えること自体は難しくはありませんが、同じセルに置換して戻すんですよね。
後々を考えたらセルを分けて作り直した方がいいかも知れません。
関数でやるなら別シートに+1した組織図を丸々作ってしまって、全コピー、値のみ元のシートに貼り付ける方法など。
あとは考え方で、置換の繰り返しで、
9) → *) 、 8) → 9) 、 7) → 8) 、 6) → 7) 、 5) → 6) 、
4) → 5) 、 3) → 4) 、 2) → 3) 、 1) → 2) 、 0) → 1)
の様に置換して、後は*を検索していくなどでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) VLOOKUP が機能しない、その原因は何 ? 8 2022/10/19 12:06
- Visual Basic(VBA) EXCEL VBA 単語置き換え について質問です ブック名 ぶぶぶ シート名 ししし セル V3〜 3 2023/03/08 01:41
- Excel(エクセル) 関数EXACT(文字列,文字列)とexcelVBA 3 2022/04/14 15:07
- Excel(エクセル) 至急です><Excelの関数を教えてください。 2 2022/03/22 17:56
- JavaScript 質問すいません。 javascriptの質問で、 人物4名、名前と年齢をオブジェクトと指定し人物1人 2 2022/06/26 22:08
- Excel(エクセル) エクセルのフッタやヘッダーについて 3 2023/02/04 09:45
- Excel(エクセル) Excelへのデータ入力作業 4 2023/07/01 18:21
- Excel(エクセル) EXCEL 関数を教えてください。(A列の同じ値が複数ある場合vlookupで出来ますか) 4 2022/12/07 20:54
- その他(Microsoft Office) Excel2019と365、2021 2 2023/07/08 06:22
- Excel(エクセル) Excelで全クラスのランキング表を作成したい 4 2022/05/24 15:28
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
セルをクリック⇒そのセルに入力...
-
対象セル内(複数)が埋まった...
-
エクセル 足して割る
-
エクセルで指定したセルのどれ...
-
【エクセル】IF関数 Aまたは...
-
Excelのチェックボックスの使い...
-
エクセル オートフィルタで絞...
-
Excelで住所を2つ(町名迄と番...
-
セルに特定の色が付いていたら...
-
枠に収まらない文字を非表示に...
-
Excel:指定セル以下全てのセル...
-
貼り付けで複数セルに貼り付けたい
-
EXCEL VBA セルに既に入...
-
excelの特定のセルの隣のセル指...
-
エクセルの一つのセルに複数の...
-
Excelで、「特定のセル」に入力...
-
Excelでのコメント表示位置
-
【Excel】 セルの色での判断は...
-
エクセルで縦に1112223...
-
セルの高さ(行高)を求めるには?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで指定したセルのどれ...
-
【エクセル】IF関数 Aまたは...
-
貼り付けで複数セルに貼り付けたい
-
対象セル内(複数)が埋まった...
-
Excelで数式内の文字色を一部だ...
-
セルをクリック⇒そのセルに入力...
-
Excelでのコメント表示位置
-
エクセル 足して割る
-
excelのCOUNTIF関数で、『範囲=...
-
EXCEL VBA セルに既に入...
-
エクセル オートフィルタで絞...
-
エクセルのセルの枠を超えて文...
-
(Excel)数字記入セルの数値の後...
-
エクセルの一つのセルに複数の...
-
【Excel】 セルの色での判断は...
-
Excel2003 の『コメント』の編...
-
エクセル “13ヶ月”を“1年1ヶ月...
-
複数のセルのいずれかに数字が...
-
枠に収まらない文字を非表示に...
-
excelの特定のセルの隣のセル指...
おすすめ情報