『家族の構成員を抽出したい』(ニック)
以下の表から家族の構成員の名前を抽出したいと思います。
セルに入っているアルファベットは、一文字目が名字(A、E、H、J)二文字目が名前(B,C,D,F,G,I、K、L、M、N)と考えて下さい。従って、一文字目の名字が一緒の人は家族と判断されます。
行
↓ A B C←列
1 AB ※ AB
2 AC AC
3 AD AD
4 EF
5 EG
6 HI
7 JK
8 JL
9 JM
10 JN
このとき、B1にどんな関数を入れたら、C列の結果が出るのでしょうか?
ちなみに、A列には非常に多くの名前が入っていて、家族単位でソートされているものとします。また、A家だけではなく、E家、H家、J家も抽出したいです。
よろしくお願いします。
< 使用 Excel:Excel2016、使用 OS:Windows10 >
東海林太郎(しょうじ たろう)
東海林太郎(とうかい りんたろう)
それとも「家族単位でソートされているものとします」とありますので、
こういう問題は起こらないような並び替え(ふりがなでソート等)されているということでしょうか。
関数で行うより、フィルター機能を使う方が簡単だと思います。
テキストフィルターの「指定の値で始まる」を使ってもいいし、
検索と記載のある欄に「佐藤*」のように入力する。
※このやり方だと「東海林太郎」問題は解決しませんが。
(ムクドリ) 2025/10/12(日) 09:19:48
>一文字目の名字が一緒の人は家族と判断されます。 1文字目が変わったら別の家族になるとして A1は見出し(氏名)、B1は空白 B列を作業列に使用する B2セル =B1+(LEFT(A1)<>LEFT(A2)) ↓コピペ C2セル =IFERROR(REPT(INDEX($A:$A,MATCH(COLUMN(A1),$B:$B,0)+ROW(A1)-1),COUNTIF($B:$B,COLUMN(A1))>=ROW(A1)),"") ↓→コピペ (はてな) 2025/10/12(日) 09:34:58
姓を1文字で説明したりというのは実態と離れすぎている気がしますし、 説明が不得要領なところがあります。ですので、ほんの参考程度の回答しかできません。
> B1にどんな関数を入れたら、C列の結果が出るのでしょうか? B1に関数を入れたら、その結果はB1にしか表示できません。他のセルに結果を出すことはできません。
B1セルに姓を入れたら、その姓を持つ人たちをC列に表示したいということではないんですか?
A列 B列 C列 1 青山一郎 青山 青山一郎 2 青山二郎 青山二郎 3 青山三郎 青山三郎 4 東海一郎 5 東海林太郎 6 鈴木 一郎 7 鈴木 二郎 8 鈴木 三郎 9 田中 健 10 田中健太郎
それなら、例えば、 =IFERROR(INDEX($A$1:$A$10,AGGREGATE(15,6,ROW($A$1:$A$10)/(LEFT($A$1:$A$10,Len($B$1))=$B$1),ROW(A1)),1),"") として下にコピーです。
A列の行数とかはそちらで微修正して下さい。 複数の家族を同時に表示するなら、どこに表示するのか説明がないと他人にはわかりません。 (xyz) 2025/10/12(日) 10:05:51
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.