[[20260121113808]] 『スピルの最終行データの後に文字列を表示したい』(syosinsya) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) |

| 全文検索 | 過去ログ ]

 

『スピルの最終行データの後に文字列を表示したい』(syosinsya)

セルB1に以下のOFFSET関数を入力し、A列(データ数可変)のデータに
シングルクォーテーションとカンマを入力したリストを表示します。
最終行の「'ccc',」の後に続けて文字列を表示させたいのですが、
セルB1の数式に何らかの構文を追加して実現可能でしょうか?

A列 B列
aaa ="'"&OFFSET(A1,0,0,COUNTA(A1:A100),1)&"',"
bbb
ccc

↓※希望する関数の結果
B列
'aaa',
'bbb',
'ccc', "文字列"

< 使用 Excel:Microsoft365、使用 OS:Windows11 >


 こんなのはどうだろうか?

 =TEXT(A:.A,"'@',")&IF(OFFSET(A:.A,1,)="","文字列","")
(ねむねむ) 2026/01/21(水) 12:29:31

 あ、一応文字列は連続して入力されて途中に空きがないことを前提として。
(ねむねむ) 2026/01/21(水) 12:34:51

 もっと気の利いたものがあるかもしれませんが。
 =LET(
     a,"'"&OFFSET(A1,0,0,COUNTA(A1:A100),1)&"',",
     VSTACK(DROP(a,-1),TATKE(a,-1)&"文字列")
 )
 追加するものは適当に修正してください。

(xyz) 2026/01/21(水) 12:38:56


 既に指摘がありましたが、 
 a,"'" & A:.A & "',",
 とすると、OFFSET関数を使わなくてもOKです。
(xyz) 2026/01/21(水) 12:48:13

 そもそもの話になりますが、
 数式を作ったあとでアドホックな修正を施すのは余り気が進まないです。
 これを際限なく繰り返していくと、スパゲッティ状になりかねません。
 例えばこの場合だと、B列にフィラー列を追加しておくなどというのがよいでしょう。(例外ではなくするということですね)
 ねむねむさんの回答はそういうポリシーに沿ったものかと思います。

(xyz) 2026/01/21(水) 12:59:18


お二方の回答で希望するデータ作成できました。
マクロを使用せずに実装したかったので大変助かりました。
まだまだ関数使いこなせていないので勉強します!
(syosinsya) 2026/01/21(水) 14:59:09

 こんなのも。
="'"&A:.A&"'"&IF(ROW(A:.A)=MAX(ROW(A:.A)),"文字列","")
(んなっと) 2026/01/21(水) 15:38:01

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.