ID非公開

2020/9/16 7:16

55回答

Excelのデータの並び替えについて質問です。

Excelのデータの並び替えについて質問です。 氏名 住所 生年月日 山田 太郎 桜1-1 S38.4.8 山田 花子 桜1-1 S41.10.5 山田一郎 桜1-1 H8.9.6 上記のような表を 住所 氏名1 氏名2 氏名3 生年月日1 桜1-1 山田 太郎 山田 花子 山田一郎 S38.4.8 生年月日2 生年月日3 S41.10.5 H8.9.6 このように並べたいのですが、簡単に出来る方法はないでしょうか。 ※1列で表したいです。 仕事で使うのにやり方が分からず困っています。数も多いので時間がかかってしまうので公立的なやり方を探しています。分かる方教えてください。

補足

上記の説明では1行には入らなかったため、2行にまたがってしまっていますが、これを1行で表したいです。 「住所 氏名1 氏名2 氏名3 生年月日1 生年月日2 生年月日3」 下に数字等は入っていませんが,上の「」内のようにExcelで1列で表したいです。

ベストアンサー

1

E1=CONCAT(B2,A2:A4,TEXT(C2,"[$-ja-JP]ge.m.d"),TEXT(C3,"[$-ja-JP]ge.m.d"),TEXT(C4,"[$-ja-JP]ge.m.d")) 空白が欲しいって事なら E2=CONCAT(B2," ",A2," ",A3," ",A4," ",TEXT(C2,"[$-ja-JP]ge.m.d")," ",TEXT(C3,"[$-ja-JP]ge.m.d")," ",TEXT(C4,"[$-ja-JP]ge.m.d"))

画像

1人がナイス!しています

その他の回答(4件)

0

あなたの頭の中はあなたしかわかりません。 あなたが評価条件を提示する以外ありません。

0

元の表がシート1に有ってA2セルから下方に名前、B2セルから下方に住所、C2セルから下方に生年月日が有るとします。 元の表は住所で並べ替えが行われてお示しのような表になっているとします。 作業列を使って対応します。 F2セルには次の式を入力して下方にドラッグコピーします。 =IF(B2="","",IF(COUNTIF(B$2:B2,B2)=1,ROUNDDOWN(MAX(F$1:F1),-2)+100,INDEX(F$1:F1,MATCH(B2,B$1:B1,0))+COUNTIF(B$1:B1,B2))) G2セルには次の式を入力してからQ2セルまで横にドラッグコピーしたのちに下方にもドラッグコピーします。 =IFERROR(IF(MOD($F2,10)<>0,"",INDEX(INDIRECT("A"&MATCH($B2,$B:$B,0)):INDIRECT("C"&MATCH($B2,$B:$B,0)+COUNTIF($B:$B,$B2)-1),ROW(A1)-MATCH($B2,$B:$B,0)+1+IF(COLUMN(A1)<=6,COLUMN(A1)-1,IF(COLUMN(A1)<=12,COLUMN(A1)-6,"")),IF(COLUMN(A1)=1,2,IF(COLUMN(A1)<=6,1,IF(COLUMN(A1)<=12,3,""))))),"") そこでお求めの表ですがシート2に作るとしてシート2のA2セルには次の式を入力して横方向にK2セルまでドラッグコピーしたのちに下方にもドラッグコピーします。 =IFERROR(IF(INDEX(Sheet1!$G:$Q,MATCH(ROW(A1)*100,Sheet1!$F:$F,0),COLUMN(A1))="","",INDEX(Sheet1!$G:$Q,MATCH(ROW(A1)*100,Sheet1!$F:$F,0),COLUMN(A1))),"") G列からK列までのセルの表示形式は「ユーザー定義」で ge.m.d と入力してOKすればよいでしょう。 名前と生年月日の列は多少離れていますが複雑な式になるのを避けるためにはやむを得ないことでしょう。 なお、シート1の作業列が目障りでしたらそれらの列を選択して「非表示」にすればよいでしょう。

0

質問の内容から察するに、住所が同じなら同一家族とみなして 列方向に氏名と生年月日を追加して1行にまとめるということでしょうか? 結論を先に述べると、もし上記であれば『正規化』された入力値を『非正規形』にするもので絶対にやるべきではないということです。 仮にVBAでコーディングしたとしても・・・ 1.仮に同じ住所であっても「1-1」(半角)と「1-1」(全角)や「1丁目1」「一丁目1」など表記が異なれば全く違う住所として扱われる。 2.同一住所に2人の場合、3人の場合、4人の場合で人によって各列に表示されるのが生年月日だったり、氏名だったりと統一されない。 3.生年月日の昇順で右方向に並ぶ保証はない。 要は、出来あがったデータもそのまま使用するに足らないものとなるでしょう。 もう少し具体的な目的や用途を補足された方が的確な回答が得られると思います。

0

》 このように並べたい 》 ※1列で表したい 其れ「1列」には見えないけどォ~ 》 公立的なやり方 効率的な?