
初めての質問です。
不作法がありましたらすみません。
スプレッドシートで関数を組んでいるのですが、
ARRAYFORMULAを使わなければエラーにならず、
使うとエラーになってしまいます。
なぜエラーが起きるのか、
解消するにはどうしたらいいのか教えていただきたいです。
よろしくお願いします。
以下、作成中の関数です。(改行などは、素人なので適当です、見にくくすいません。)
=ARRAYFORMULA(
IF(ISBLANK(L19:L),,
IF(N18="○○",VLOOKUP(L19:L,'シート1'!I3:J,2,0) &
IF(COUNTIF('シート1'!I3:I,L19:L)<2,,CHAR(10)) &
IF(COUNTIF('シート1'!I3:I,L19:L)<2,,
VLOOKUP(L19:L,INDIRECT("'シート1'!I"&MATCH(L19:L,'シート1'!I:I,0)+1&":J"),2,FALSE)),
IF(N18="××",VLOOKUP(L19:L,'シート1)'!L2:M,2,0),
)
)
)
)
下記ならエラーは起きず正しく返りました。
=IF(N18="○○",VLOOKUP(L19:L,'シート1'!I3:J,2,0) &
IF(COUNTIF('シート1'!I3:I,L19:L)<2,,CHAR(10)) &
IF(COUNTIF('シート1'!I3:I,L19:L)<2,,
VLOOKUP(L19:L,INDIRECT("'シート1'!I"&MATCH(L19:L,'シート1'!I:I,0)+1&":J"),2,FALSE)),
IF(N18="××",VLOOKUP(L19:L,'シート1'!L2:M,2,0),
)
)
▼やりたいこと
N18が○○の時、
L列のデータをシート1のI列から探し出し、
L列のデータがシート1のI列に
一つならJ列の一つを返し
二つならひとつのセルに改行してJ列を二つ返させたい。
(××はシンプルなので正常に動きます)
L列 シート1I列 J列
A A F
B A G
C B H
C I
C J
結果
A F
G
B H
C I
J
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
№1です。
手を加えたすぎていたので、ちょっと修正しました。結果は、少し違います。
=ARRAYFORMULA(
IF(ISBLANK(L19:L),,
IF(N18="○○",VLOOKUP(L19:L,'シート1'!I3:J,2,0) &
IF(COUNTIF('シート1'!I3:I,L19:L)<2,,CHAR(10)) &
IF(COUNTIF('シート1'!I3:I,L19:L)<2,,
INDIRECT("'シート1'!I"&arrayformula(MATCH(L19,'シート1'!I:I,0))+1&":J")),
IF(N18="××",VLOOKUP(L19:L,'シート1)'!L2:M,2,0),
)
)
)
)
返信が遅くなりすみません!
arrayformulaの中にarrayformulaを入れるという思考がありませんでした、、、
ご回答ありがとうございます!!!
No.1
- 回答日時:
arrayformulaって便利な関数ですね。
今回初めて使ってみました。
回答にはなりませんが、分かった事を書きます。
はじめに確認ですが、
下記ならエラーは起きず正しく返りました。のコードは本当に動作しましたか?
何度試しても同じ”MATCHの評価で~”が表示されました。
試しにコードの一部だけ切り抜いてみました。
=MATCH(L19:L,'シート1'!I:I,0)
エラーになりました。”配列の値が見つかりませんでした。”
=arrayformula(MATCH(L19:L,'シート1'!I:I,0))
これは実行できました。
=INDIRECT("'シート1'!I"&arrayformula(MATCH(L19:L,'シート1'!I:I,0))+1&":J")
これも実行できました。
=arrayformula(VLOOKUP(L19:L,INDIRECT("'シート1'!I"&arrayformula(MATCH(L19:L,'シート1'!I:I,0))+1&":J"),2,FALSE))
これはエラーになりました。”MATCHの評価で~”
=arrayformula(VLOOKUP(L19:L,INDIRECT("'シート1'!I"&arrayformula(MATCH(L19,'シート1'!I:I,0))+1&":J"),2,FALSE))
これは実行できました。
ちょっと手を加えて動きましたが、少し違う結果になりそうです。
試してみてください。
=ARRAYFORMULA(
IF(ISBLANK(L19:L),,
IF(N18="○○",VLOOKUP(L19:L,'シート1'!I3:J,2,0) &
IF(COUNTIF('シート1'!I3:I,L19:L)<2,,CHAR(10)) &
IF(COUNTIF('シート1'!I3:I,L19:L)<2,,
arrayformula(VLOOKUP(L19:L,INDIRECT("'シート1'!I"&arrayformula(MATCH(L19,'シート1'!I:I,0))+1&":J"),2,FALSE))),
IF(N18="××",VLOOKUP(L19:L,'シート1)'!L2:M,2,0),
)
)
)
)
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) Excelで、別シートの表のステータスに伴った動的な自動転記をしたいです。 2 2023/06/14 15:56
- Excel(エクセル) ある数値に対して、値を返す数式についてです 2 2022/09/13 22:06
- Visual Basic(VBA) excel vbaでvlooupの変数がわかりません。 7 2022/05/30 09:35
- Visual Basic(VBA) VBA 改行コードの取り方 1 2022/03/22 14:14
- Excel(エクセル) エクセルVBA VLOOKUPを使ってのカウント作業 2 2023/02/19 09:03
- Visual Basic(VBA) コード名シートA列と集計シートA列のコードが一致したら、コード名シートA5からk12の範囲をコピーし 1 2022/08/29 23:46
- Visual Basic(VBA) Changeイベントで複数セルへの貼り付けおよび値削除時に1個目のセルのみエラーになる 3 2022/12/21 09:07
- Excel(エクセル) Excelの中央値の複数条件について 3 2022/05/24 21:22
- Excel(エクセル) Excel_マクロ_複数のシートのVLOOKUPで表示された#N/A以外に色付けをしたいです 1 2023/02/16 22:37
- Visual Basic(VBA) Excel VBA 最終行を取得しVlookup関数をコピーする方法をコーディングで教えてください。 3 2023/05/11 13:14
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで複数のシートをフォ...
-
括弧があるとHYPERLINKで飛べな...
-
フォルツァ バッテリーを外して...
-
BRIDEのシート張り替えってでき...
-
水の染み込んだバイクのシート...
-
Excel複数シートから日付と文字...
-
IHクッキングヒーターの操作パ...
-
エクセルVBA 4行飛ばしで転記す...
-
XJR400R 1995年式なのですがシ...
-
クローゼットにカッティングシ...
-
XLAのシート表示
-
【マクロ】シートの変数へ入れ...
-
透湿防水シート、防水フィルム...
-
Vba Array関数について教えてく...
-
ExcelのVBAで、プロジェクトエ...
-
コンビニの丼(中華丼) ごは...
-
マジェスティ(4HC)のシート下...
-
PS VITA 表面の汚れのとり方
-
PET(ポリエチレンテレフタレー...
-
Excel VBA シート名変更時、重...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで複数のシートをフォ...
-
括弧があるとHYPERLINKで飛べな...
-
飛行機の座席について 3列シー...
-
2024年式タフトに乗っています...
-
フォルツァ バッテリーを外して...
-
Excel複数シートから日付と文字...
-
IHクッキングヒーターの操作パ...
-
ポケットにミシンでワッペンを...
-
エクセルVBA 4行飛ばしで転記す...
-
シートベルトの固定解除
-
原付 レッツシート開け方
-
BRIDEのシート張り替えってでき...
-
【マクロ】シートの変数へ入れ...
-
水の染み込んだバイクのシート...
-
ポップコーンの捨て方
-
マジェスティ(4HC)のシート下...
-
車のシートがへたってきました...
-
カッティングシートの上からア...
-
建築模型、カーブの作り方
-
電車のシートって何でこんな暑...
おすすめ情報
エラーは、
MATCH の評価で値「」が見つかりませんでした。
と出ます。
こちら、別方法で解決しましたが、
記載の関数自体は解決していないので
わかる方がいらっしゃいましたら回答いただけたら嬉しいです。