- ベストアンサー
特定の文字を連結し、余分なセルは削除したい
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
ごめんなさい。回答No2でG2セルへの入力の式を間違いていました。次の式をG2セルに入力して下方にドラッグコピーします。 =IF(A2="","",SUBSTITUTE(A2&"/"&B2&"/"&C2&"/"&D2&"/"&E2&"/"&F2,"/★","★")) 他の操作はNo2のとおりです。
その他の回答 (3)
- tsubuyuki
- ベストアンサー率45% (699/1545)
> 連結は「置換」で何とか出来たのですが、特定のセルを削除し、左にシフトする > 何か良い方法はありますでしょうか? 使えるならマクロでコリっとやるのが一番良いかもですね。 各行右から、 「★」だったら左の列に「★」を足して、自身を削除。 これをB列まで繰り返し、次の行へ、 次の行も右から同様に・・ で連結・削除の作業を一気に出来るかと思われます。 手動でやるなら、 > 連結は「置換」で何とか出来た とのことですから、以下の方法が有効かと。 「置換」後に、削除したい空白セルを含む範囲を指定しておいて ・F5(あるいはCtrl+G)でジャンプダイアログを表示 ・セル選択ボタンを押し、選択オプションダイアログを表示 ・空白セルを選択し、OK ・右クリックで削除、左方向へシフトを選択し、OK これで空白セルだけ全て削除できます。 図はかなり見づらいですが、 上段(A1:J3)を選択しておいて上記操作を行った結果です。 選択範囲内の「空白セルだけ」選択されているのが確認いただけるかと。 横から失礼しました。
お礼
ご回答ありがとうございました。
- KURUMITO
- ベストアンサー率42% (1835/4283)
回答No1です。 例えばA2セルからD2セルまでの途中に★が有ってその後にも文字が入力されている場合にはNo1の解答の式では対応することができません。列が4列ではなくもっと多くなりしかも途中にいくつか★が有る場合にも対応できる方法としては次のようにすることでしょう。 仮にF列までを想定するとしたらG2セルには次の式を入力して下方にドラッグコピーします。 =IF(A2="","",A2&"/"&B2&"/"&C2&"/"&D2&"/"&E2&"/"&F2) G列を選択して「コピー」しH1セルを選択してから「形式を選択して貼り付け」で「値」にチェックをして貼り付けます。 その後にH列を選択してから「データ」タブの「区切り位置」をクリックします。 「カンマやタブなどの…」が項がアクティブのままで「次へ」をクリックします。 区切り文字の項でその他の項目の窓に / を入力して「次へ」「完了」と進んで終了します。 H列から右横の列にはお求めの表が表示されます。
- KURUMITO
- ベストアンサー率42% (1835/4283)
お示しの表ではA列からD列までにデータが有って最後のセルのデータが★になっていますね。 最後だけが★ということであれば表の例では例えばお求めの表をF列からJ列までに表示させるとしてF2セルには次の式を入力してJ2セルまでドラッグコピーしたのちに下方にもドラッグコピーします。 =IF(AND(A2<>"",A2<>"★",B2<>"★"),A2,IF(AND(A2<>"",A2<>"★",B2="★"),A2&B2,""))
補足
ご回答ありがとうございます。 教えて頂いた数式で連結することはできました。 表では記載していなかったのですが、★の右側に文字が入る場合もあり、その場合は、もともと入っていた★のセルは削除し左にシフトしたいと思いますが、そのような方法はあるでしょうか?
お礼
ありがとうございました。 置き換えと左にシフト両方できました。 助かりました。