Excelにて、行の各セルに入力すると別の特定のセルに入力順に新しいデーターへ書き換わる
ような事が出来るでしょうか。
やりたいこと
例えば、I7~BR7(行)までのセルに順次データを入れていったとします。
I7に1と入力すれば、D7に同じく1と入る、次にJ7に2と入れれば、D7へ2となり
D7セルは常に新しいデーターへ書き換わる様にしたいのですが、可能なのか分からず
可能であれば、ご教授願います。(関数?マクロ?)
D7 I7 J7 K7 ・・・・・
1 1
D7 I7 J7 K7 ・・・・・
2 1 2
D7 I7 J7 K7 ・・・・・
3 1 2 3
よろしくお願いいたします。
No.4ベストアンサー
- 回答日時:
>⇒I7 J7 K7 L7 M7 N7・・・・BR7の間で、データー入力は、右へと順次(I7 J7 ・・と入力)
>D7には、最後に入力した数字を表示させたいです
としいうことは、一番右の列に入力されているものが最も新しいデータということになりますが、それでよろしいのでしょうか?
例えば、入力の順番をミスしてM7より先にN7を入力してしまったときは、ルール違反とはいえ、あくまでも右にあるN7の値がD7に表示されるということでよいのでしょうか?
また、そのあとミスに気づいてM7に入力すると最新の入力値はM7になるのですが、ルールとしては右側が最新なので、N7の値がD7に表示されるということでよいのでしょうか?
上記の前提がすべてOKであれば、D7に関数を記述する方法でも解決可能です。
No.3さんの
=LOOKUP(10^10,I7:BR7)・・・・・・・・・・・・・・・・・・①
という数式も一つの方法ですが、以下の制約条件があります。
(1)I7:BR7には数値のみの入力とすること
(2)I7:BR7には10桁以上の数値は入力しないこと
上記(1)(2)の制約条件がOKならこの方法で問題ありません。
この制約条件を取り払うとすると以下の数式になります。
=IFERROR(INDIRECT("R7C"&MAX(INDEX((I7:BR7<>"")*(COLUMN(I7:BR7)),0)),0),"")・・・・・・・・・②
上記①②数式の結果の違いは添付画像をご覧ください。
※②の数式の解説
INDEX((I7:BR7<>"")*(COLUMN(I7:BR7)),0)・・・・・・・・・(A)
*I7:BR7セルのうち空欄でないものの列番号を返す配列を求める
MAX((A))・・・・・・・・・・・・(B)
*I7:BR7セルの空欄以外の列番号のうちの最大値(最右列の列番号)を求める
INDIRECT("R7C"&(B)),0)・・・・・・・・・(C)
*INDIRECT関数でI7:BR7セルの空欄以外の最右列のセルの内容を求める
IFERROR((C),"")
*INDIRECT関数でエラーが発生したら空欄にする
No.3さんも述べておられますが、最右列でなく、入力順も考慮するならVBAが必要だと思われます。
御礼がおそくなりすみませんでした
分かりやすく丁寧に教えていただきありがとうございます
=IFERROR(INDIRECT("R7C"&MAX(INDEX((I7:BR7<>"")*(COLUMN(I7:BR7)),0)),0),"")・・・・・・・・・②
数式を使わせていただきます
No.3
- 回答日時:
必ず左から右へと入力されるということで常に一番右端のデータを表示したいなら
=LOOKUP(10^10,I7:BR7)
では?
入力セルが前後することがあり入力順まで考慮するなら、マクロになります。
No.2
- 回答日時:
> I7~BR7(行)までのセルに順次データを入れていったとします。
入力が、①(I7に1)、②(K7に3)、③(J7に2)、④(K7に4)、⑤(L7に5)、⑥(I7に1)(I7に前と同じ値を入力)、⑦(M7に4)とした場合、
D7は、①②③④⑤⑥⑦で、どう表示させたいのでしょうか。
> D7セルは常に新しいデーターへ書き換わる
⑥は作業としては新しいですが、内容は以前と同じです。
⑦は作業としては新しいですが、K7に(4)があるので、新しいデータではないかもしれません。
内容にもよりますが、入力をチェックして動作を決めればいいのであれば、マクロでできます。
No.1
- 回答日時:
フォームを使えば出来るでしょう。
マクロは私にはわかりませんが、単純にここでコードだけ教えて貰っても応用が利きません。
フォームで出来る事を理解すれば、いくらでも応用が出来ます。
https://www.pc-koubou.jp/magazine/31560
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルで、特定のセルの内容を更新すると、別の特定セルに 更新日付が自動的に表示させる方法はあります 1 2022/11/14 21:03
- Visual Basic(VBA) VBA 検索と入力 Excel ブック ぶぶぶ シート ししし 列V 検索対象の列です 最終行は、お 6 2023/05/17 01:40
- Excel(エクセル) ExcelのVBAコードについて教えてください。 1 2022/06/20 09:22
- Visual Basic(VBA) EXCEL VBA 単語置き換え について質問です ブック名 ぶぶぶ シート名 ししし セル V3〜 3 2023/03/08 01:41
- Excel(エクセル) エクセル 指定セル繰り返しマクロ 4 2022/06/06 17:08
- Excel(エクセル) Excelについて Excel初心者です。 日報に数字を入力する時、誤った数字を入れると、セルが赤く 6 2023/03/31 17:05
- Visual Basic(VBA) Excelにて、シート1の行を削除するとシート2のシート1と同じ番号の行も削除したい 3 2022/05/08 04:24
- Excel(エクセル) Excelにて、セルに入力してある文字の中から文字と最後の数字のみ切り取り貼り付けるVBA 5 2022/12/27 08:40
- Excel(エクセル) Excelで小数表記をそのまま角度表記にしたい 5 2022/04/04 12:34
- Excel(エクセル) 特定の条件で計算式を組みたいのですが、教えて頂けますでしょうか? 6 2022/10/28 19:02
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【エクセル】関数で「A1が0でな...
-
エクセルでセルにポインタする...
-
エクセル逆三角マークで選択項...
-
エクセルでセルのコメントが消...
-
【Excel】ドロップダウンリスト...
-
シートを保護しても入力規則を...
-
エクセルの入力規則で作ったリ...
-
入力規則をブック全体にかける...
-
エクセル 入力規則のリストボ...
-
カンマで区切った数値をCOU...
-
Excel 自動的に半角英数になり...
-
ドロップダウンリスト(INDIREC...
-
Excelでセルに名前を定義したい...
-
Excelで同じセルに入力し エン...
-
EXCEL:入力規則の「リスト」は...
-
エクセルで電話番号から市内局...
-
エクセルVBA ブックを閉じる前...
-
EXCELの入力規則を相対指定でコ...
-
エクセルVBA、間違っているコー...
-
エクセルのセルの手入力を禁止。
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【エクセル】関数で「A1が0でな...
-
エクセル逆三角マークで選択項...
-
エクセルでセルにポインタする...
-
シートを保護しても入力規則を...
-
エクセルVBA ブックを閉じる前...
-
【Excel】ドロップダウンリスト...
-
エクセルでセルのコメントが消...
-
エクセル 入力規則のリストボ...
-
Excel 集計表
-
入力規則の入力時メッセージの...
-
エクセルの入力規則で作ったリ...
-
エクセルVBA ユーザーフォーム...
-
ドロップダウンリスト(INDIREC...
-
Excel 自動的に半角英数になり...
-
カンマで区切った数値をCOU...
-
エクセルで、入力制限(プルダ...
-
Excelで同じセルに入力し エン...
-
Excelでセルに名前を定義したい...
-
エクセルで。
-
エクセルのセルの手入力を禁止。
おすすめ情報
ありがとうございます。
> I7~BR7(行)までのセルに順次データを入れていったとします。
入力が、①(I7に1)、②(K7に3)、③(J7に2)、④(K7に4)、⑤(L7に5)、⑥(I7に1)(I7に前と同じ値を入力)、⑦(M7に4)とした場合、
D7は、①②③④⑤⑥⑦で、どう表示させたいのでしょうか。
⇒I7 J7 K7 L7 M7 N7・・・・BR7の間は、最初は空セルです
⇒I7 J7 K7 L7 M7 N7・・・・BR7の間で、データー入力は、右へと順次(I7 J7 ・・と入力)
入力していくので、同じ数字が入ることもあります。
D7には、最後に入力した数字を表示させたいです
> D7セルは常に新しいデーターへ書き換わる
⇒D7には、最後に入力した数字を表示するようにしたいです。
説明不足ですみません