- ベストアンサー
セルに入力されている文字をくっつけたい。
エクセル2010です。 よろしくおねがいします。 セルE15~E23に入力されている文字を ひとつにくっつけて 表示したいんですが・・・ 全部文字が入力されているときも あるのですが 入力がないときまあります。 その場合は D1には 何も表示しないようにしたいのです。 例えば E15にA E16にB E17にC E18~E23は入力なしとして D1に ※文字です。→A・B・C と 一つのセルに表示させるには どういう関数になりますでしょうか? よろしくお願いします。
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
関数を使わなくても =E15 & E16 & E17 で充分です。 もし・を入れたければ =E15 &"・"& E16 &"・"& E17 とすればよいです。この場合は空白の場合でも・が出てしまうので、それが気になるなら、例えばif関数を使って =if(E15="","",E15&"・") & if(E16="","",E16&"・") & E17 とすればよいでしょう。
その他の回答 (5)
- keithin
- ベストアンサー率66% (5278/7941)
複数の文字をくっつけるには,結構ジミチーな数式を書くしか手がありません。 ="※文字出る →" & SUBSTITUTE(TRIM(CONCATENATE(E15," ",E16," ",E17," ",E18," ",E19," ",E20," ",E21," ",E22," ",E23))," ","・") のように手を尽くすことで,きちんと各セルの文字を・で区切って表示できます。 #参考 結果が劣化してもイイから簡単にしたいときは,所定のセルにABCと記入してあるという前提で ="文字→"&PHONTETIC(E13:E23) のようにする手もあります。
お礼
keithinさん いつも回答ありがとうございます。 大変参考に そして勉強になりました。
- tom04
- ベストアンサー率49% (2537/5117)
こんばんは! VBAになってしまいますが・・・ 一例です。 画面左下の操作したいSheet見出し上で右クリック → コードの表示 → VBE画面が出ますので ↓のコードをコピー&ペーストしてマクロを実行してみてください。 (Alt+F8キー → マクロ → マクロ実行です) Sub test() 'この行から Dim i As Long Dim str As String If WorksheetFunction.CountA(Range("E15:E23")) Then For i = 15 To 23 If Cells(i, 5) <> "" Then str = str & Cells(i, 5) & "・" End If Next i Cells(1, 4) = Left(str, Len(str) - 1) Else Cells(1, 4) = "" End If Columns(4).AutoFit End Sub 'この行まで ※当然関数でやる方法もありますが、結構長い数式になってしまうと思います。 ご希望の方法でなければごめんなさいね。m(_ _)m
お礼
tom04さん 回答ありがとうございます。 ほぼ理解不能ですが がんばりたいです。 理解できるように・・・・ ありがとうございました。
- acha51
- ベストアンサー率41% (436/1042)
D1に ="※文字です。→”&E15&E16&E17&E18&・・・・&E23 と入力すると ※文字です。→ABC と表示します
お礼
acha51さん 回答ありがとうございました。 説明が足りなくてすみませんでしたが ※文字です。 というのは D1に 表示されなくてもよかったです。 でも 理解しました。ありがとうございました。
D1に=concatenate(e15,e16,・・・・)と入力
お礼
noname#146604さん 回答ありがとうございました。 この関数は全然しりませんでした。 いろいろと勉強したいとおもいます。
お礼
at9_amさん 明確な回答ありがとうございます。 大変参考になりました。