[[20211115110727]] 『名前で検索し、複数マッチした結果を1つのセルに潤x(もりたく) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『名前で検索し、複数マッチした結果を1つのセルに集計する方法』(もりたく)

SUMIF関数では条件を指定して数値を合計できますが、条件を指定して文字列を連結(カンマで区切るなど)するようなことは、可能でしょうか。

イメージとしては、以下の元データから、

	社員名	持ち物
	A	鉛筆
	B	ペン
	A	ペン
	C	万年筆
	C	ペン

下記のような集約されたリストを作成したいと思っています。

	社員名	持ち物リスト
	A	鉛筆,ペン
	B	ペン
	C	万年筆,ペン

勝手に名前を付ければ、「textjoinif」関数という感じです。

具体的な応用としては、固定資産の資産棚卸をする際に、管理者に固定資産番号のリストを送る、ということを考えています。

よろしくお願いします。

< 使用 Excel:Office365、使用 OS:Windows10 >


    |[A]|[B]     |[C]                                                
 [1]|A  |pen     |=TEXTJOIN(",",TRUE,FILTER($B$1:$B$6,$A$1:$A$6="A"))
 [2]|B  |pensil  |=TEXTJOIN(",",TRUE,FILTER($B$1:$B$6,$A$1:$A$6="B"))
 [3]|C  |pensil  |=TEXTJOIN(",",TRUE,FILTER($B$1:$B$6,$A$1:$A$6="C"))
 [4]|A  |paper   |
 [5]|B  |pen     |
 [6]|A  |消しゴム|

 こういうことですか?
(*) 2021/11/15(月) 11:54

編集がかぶりましたがそのまま。

>勝手に名前を付ければ、「textjoinif」関数という感じです。
入れ子にすればよいですよ。

   ___A___    __B___   _C_  ___D___   _____E_____
 1  社員名    持ち物        社員名      持ち物
 2    A        鉛筆            A      鉛筆,ペン
 3    B        ペン            B      ペン
 4    A        ペン            C      万年筆,ペン
 5    C       万年筆           
 6    C        ペン           

 (1) E2セルに↓を入力
    =TEXTJOIN(",",,IF($A$2:$A$6=D2,$B$2:$B$6,""))

 (2)E3,E4セルに↑をコピペ

(もこな2 ) 2021/11/15(月) 11:55


 データ範囲がA1:B6として
C1セルに
=UNIQUE(A1:A6)
D1セルに
=TEXTJOIN(",",,FILTER(B$1:B$6,A$1:A$6=C1))
↓コピペ
(どん) 2021/11/15(月) 12:01

 現在365で確認できないのだがどんさんの式を
 =TEXTJOIN(",",,FILTER(B1:B6,A1:A6=C1:C6))
 とするとスピル機能が働かないだろうか?
(ねむねむ) 2021/11/15(月) 12:17

 >とするとスピル機能が働かないだろうか?
=A1:A6=C1:C6の戻り値は
TRUE
TRUE
TRUE
FALSE
FALSE
FALSE
なので、スピルせずD1セルに、
持ち物,鉛筆,ペンが返ります
(どん) 2021/11/15(月) 12:43

 どんさん、確認してくれてありがとう。
 TEXTJOIN自身が配列を扱えるのでそうなってしまうのか。
(ねむねむ) 2021/11/15(月) 13:02

 >TEXTJOIN自身が配列を扱えるのでそうなってしまうのか。
 これ関係ないか。
 単に
 A1=C1
 A2=C2
 A3=C3
 A4=C4
 A5=C5
 A6=C6
 の配列になるってことか。
(ねむねむ) 2021/11/16(火) 07:41

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.