capeofdragonと申します
Excel2016を使っておりまして
半角又は全角の任意文字列が
あるセル、複数行、複数列を
全角又は空白で調節し
列が始まる見栄えを整列し
同じ位置から文字列が始まる様に
したいです
例、
列1 列2 列3
日本 富士山 No1
アメリカ バリアーリーフ A1
Brasil 大統領 C1
上の例ですと、日本の後に全角空白3文字を
入れ、アメリカに全角空白1文字、
Basilに半角空白を日本やアメリカの全角空白分と
一致するように半角空白を入れ調整し
半角文字列が含まれていた場合の項目は
半角空白のみで対応したいと考えております
この後、Access2016のテーブルに
インポートする操作をして
列を揃える調整に当てます
Excel2016の関数で実現したいのですが
技術的に知恵はありませんでしょうか?
半角全角文字列混在、
半角全角空白で調整ですと
実現が煩雑な場合は
全角文字列、全角空白のみで
実現ができれば幸甚です
何卒ご教授よろしくお願い申し上げます。
capeofdragon
No.2ベストアンサー
- 回答日時:
半角全角文字列混在、半角全角空白で調整ですと実現が煩雑です。
不可能ではないので、必要な場合はこの回答を基に修正ください。個人的には、半角全角文字列混在の場合でも下記②の手法で要望を実現できていると思います。
また、フォントをMSゴシックなどの等幅フォントにする必要があります。
以下、2パターンの回答を作りました。
下記手順は添付図のレイアウトになっている前提です。
共通
全領域選択(A1セルのさらに左上の四角形部分をクリック)して、フォントを『MSゴシック』に変更します。
①全角文字列、全角空白のみで調整
当然ながら、半角文字列は含まれないものとしています。
E3セルに『=LEN(B3)』を入力して、E3~G5セルにコピペします。
E7セルに『=MAX(E3:E5)』を入力して、E7~G7セルにコピペします。
H3セルに『=B3&REPT(" ",$E$7-E3+1)&C3&REPT(" ",$F$7-F3+1)&D3』を入力して、H3~H5セルにコピペします。
②半角全角文字列混在、半角空白のみで調整
E3セルに『=LENB(B3)』を入力して、E3~G5セルにコピペします。
E7セルに『=MAX(E3:E5)』を入力して、E7~G7セルにコピペします。
H3セルに『=B3&REPT(" ",$E$7-E3+2)&C3&REPT(" ",$F$7-F3+2)&D3』を入力して、H3~H5セルにコピペします。
回答ありがとうございます。
以下の方法で実現できました。
シート全てのセルを
等幅フォントにし
対象セル内を
=LEFT(対象セル&REP(“半角空白”,空白含めた表示する大きさの数字の直),LENB(対象セル))
としまして
実験しましたが
LENB(対象セル)の値を50にして
対象セル内全て半角のLEN(対象セル)の値は50
対象セル内が一つ全角で他全て半角のLEN(対象セル)の値は49
となりますが、
上記=の式と等幅フォントを使えば
対象セルの右端は空白で整列し
一律表示になることがわかります。
迅速なご回答ありがとうございました。
No.1
- 回答日時:
えっと。
。。「列単位に見た際、同列にあるセルの幅を列中で最も長い文字列が入っているセルの全文字が表示できる幅に揃える」ではダメなのでしょうか?
それとは別に「半角文字の直後が全角文字の場合、その間に半角の空白文字を入れる」というのもあるのですかね?
前者をExcelマクロで行うなら EntireColumn.AutoFit を使えば出来ます。
例えばA列からC列の3列についてそれを行いたいなら・・・
Range("A:C").EntireColumn.AutoFit
・・・という感じ。
手動で行うなら表の最上部にあるA、B、C、・・・と列名が表示されているラベルで、列と列の境目にマウスカーソルを乗せ、ダブルクリックすると出来ます。
後者は処理ロジックを考えるしかないのではないでしょうか?
で、その処理をデータが入っている全てのセルについて実施すると。。。
回答ありがとうございます。
以下の方法で実現できました。
シート全てのセルを
等幅フォントにし
対象セル内を
=LEFT(対象セル&REP(“半角空白”,空白含めた表示する大きさの数字の直),LENB(対象セル))
としまして
実験しましたが
LENB(対象セル)の値を50にして
対象セル内全て半角のLEN(対象セル)の値は50
対象セル内が一つ全角で他全て半角のLEN(対象セル)の値は49
となりますが、
上記=の式と等幅フォントを使えば
対象セルの右端は空白で整列し
一律表示になることがわかります。
ご回答ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(データベース) Accessのクエリで1フィールドの抽出条件設定をNullでなく全角半角含む空白のみの文字列でない文 1 2023/04/24 15:20
- Visual Basic(VBA) VBA 「,」・空白・カタカナ等の複数条件のマクロ 2 2023/08/23 11:57
- Visual Basic(VBA) 特定の文字を簡単な操作で半角スペースに変換するか削除したい 2 2022/11/01 10:35
- その他(Microsoft Office) WordやExcelで英数字のみ半角または全角にしたい 6 2022/08/03 08:18
- PDF C#でfloatを整数部、小数部とも桁数固定で文字表示したい 2 2022/07/28 09:37
- Excel(エクセル) PowerQueryに詳しい方教えてください(Office365) 1 2022/07/24 21:11
- Excel(エクセル) エクセルの数式で教えてください。 2 2022/04/01 09:10
- マウス・キーボード macからリモートデスクトップでwindowsに接続した際のキーボード配列 3 2023/07/10 08:40
- Visual Basic(VBA) 指定した文字から指定した文字のスペースまでを削除するVBAの構文について 6 2022/07/24 22:20
- その他(学校・勉強) 問2 次の文中の空欄にあてはまる数や言葉を答えなさい。英数字・符号は半角、それ以外の文字は全角で入力 1 2022/06/15 12:39
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
英数字のみ全角から半角に変換
-
VBで、String型のデータが、...
-
IEからEdgeへの移行に伴うIMEの...
-
[VBScript]バイト長の判定
-
住宅にカナを入力する際に丁目...
-
word差し込み印刷 半角カタカ...
-
VBA 文字に半角が含まれて...
-
capeofdragonと申します Excel2...
-
コマンドプロンプト 全角を含ん...
-
全角スペース
-
プログラミングでは、半角括弧...
-
LaTeXで半角カンマと全角カンマ...
-
全角英数字の必要性が理解できない
-
COBOL・全角判定
-
perl 初めてのプログラムにエラ...
-
[Excel VBA] ODBCによる外部デ...
-
.NET3.5におけるキーボードの「...
-
vba アクティブシートの名前変...
-
封筒の宛先で縦書きの書き方
-
ACCESS VBA でのバイナリデー...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
英数字のみ全角から半角に変換
-
VBA 文字に半角が含まれて...
-
住宅にカナを入力する際に丁目...
-
全角英数字の必要性が理解できない
-
vba アクティブシートの名前変...
-
IEからEdgeへの移行に伴うIMEの...
-
エクセルにMicrosoft Barcode C...
-
word差し込み印刷 半角カタカ...
-
プログラミングでは、半角括弧...
-
COBOL・全角判定
-
VBで、String型のデータが、...
-
全角入力
-
VB.net、テキストボックス入力...
-
Accessのテキストボックスの入...
-
CString Format にて全角空白文...
-
メモ帳の段落の揃え方
-
エクセルでの”々”の扱い
-
封筒の宛先で縦書きの書き方
-
正規表現で、全角文字を半角文...
-
全角英数字を半角英数字に変換...
おすすめ情報