スプレッドシートにて、INDEX、MATCHにて条件に一致するセルの値を返す計算をしたいのですが、
以下例のように、すべて同一の値が算出されてしまいました。
どなたか指定条件の誤りについてご指摘、
ほか方法についてご教示くださいませ。
※以下のようにスプレッドシートAのE列「未完了」に一致する
aa、ab、adの値をスプレッドシートBに返したく、次のような関数を「スプレッドシートB」のA2に指定したところ、
「未完了」に一致するすべて同一の値が返されてしまいました。。
=INDEX('スプレッドシートA'!$A$2:$E$500,MATCH("未完了",'スプレッドシートA'!$E$2:$E$500,0),MATCH(A$1,'スプレッドシートA'!'!$A$1:$E$1,0))
<例>スプレッドシートA
ーーーーーーーーーーーーーーーーーー
A列 B列 C列 D列 E列
aa ab ac ad ae
東京都 ×× △△ ▼▼ 未完了
東京都 ●● ◎◎ ×× 未完了
埼玉県 ×× △△ ○○ 完了
・
・
・
ーーーーーーーーーーーーーーーーーー
<例>スプレッドシートB →以下のようにすべて同一の値のみ返されてしまった。。
ーーーーーーーーーーーーーーーーーー
A列 B列 C列
aa ab ad
東京都 ×× ▼▼
東京都 ×× ▼▼
東京都 ×× ▼▼
東京都 ×× ▼▼
東京都 ×× ▼▼
・
・
・
ーーーーーーーーーーーーーーーーーー
No.1ベストアンサー
- 回答日時:
こんにちは。
回答が無いようですので・・・スプレッドシートはまったく知りませんが、MSエクセルとある程度共通点があるものとして、類推での回答です。
ですので、以下の例示式は正しくないかも知れませんが、考え方が伝われば良いものとして記していますので、適宜修正を願います。
どのような結果を期待なさっているのかハッキリとはわかりませんが、ご提示の式ではほとんどのセル指定は絶対指定ですから、その部分に関してはフィルコピーで変わることは無いものと思います。
変化するのは
INDEX(参照, 行, 列) の列の部分だけのように見受けられます。
MATCH(A$1,'スプレッドシートA'!'!$A$1:$E$1,0) の部分がこれに該当します。
これに関しては、ご提示の結果にもきちんと反映されているようですが、行指定に当たる
MATCH("未完了",'スプレッドシートA'!$E$2:$E$500,0)
の部分は、行が変わっても常に同じ値になるので
>以下のようにすべて同一の値のみ返されてしまった
というのは、式の示す通りの結果だと言えます。
もしも、『E列が「未完了」と記されている行を「詰めて抽出」したい』というような意味でしたら、エクセルでは配列数式を利用し、SMALL関数でその順位を指定することで行の参照位置を得る方法が用いられています。
そもそも、スプレッドシートで配列数式のような概念が存在するのかどうかわかりませんが、式を分解して作業列を利用することで「詰めて週出」は可能になると思われます。
一応、その考え方を記しておきますと、
(以下の式はそのままでスプレッドソートで動作するのかはわかりません)
1)シートAに作業列(例えばF列)を設け、以下の式をフィルコピーしておく
=IF(E2="未完了",COUNTIF(E$2:E2,E2),"")
これによって、未完了に該当する行にだけ、上から順に1、2、3・・・と表示されるはずです。
2)シートBのINDEX関数の行の参照指定を、上記作業列をMATCHで検索する形式に変更する
MATCH(Row()-1,'スプレッドシートA'!$F$2:$F$500,0)
・・・といった感じです。
このような要領で、「詰めて抽出」が可能になるものと思います。
作業列を使わない方法としては、エクセルの「配列数式」のような考え方がスプレッドシートにも存在するならば、上記の考え方を応用することで可能であろうと想像します。
あるいは、スプレッドシートでもスクリプトが利用できたように記憶していますので、スクリプトで解決しちゃうという方法もありそうですね。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルでエラーを無視して一番左側のセルの値を返したい 2 2023/07/27 13:06
- Excel(エクセル) エクセル・スプレッドシートで、一定数を超えたらゼロから再累計する方法 8 2022/05/28 03:52
- Excel(エクセル) LEFT関数で文字数を指定しないで取りだす方法 7 2023/06/30 09:49
- Excel(エクセル) 皆様、御力をお貸し下さい。。。 スプレッドシートで関数を組みたいのですが、上手く組めません。 ▼抽出 3 2023/02/04 15:49
- Java Java 南京錠 2 2023/02/04 11:46
- Excel(エクセル) この関数の誤りを教えて下さい。 3 2023/08/08 07:36
- Excel(エクセル) スプレッドシートで次の数式を教えて下さい。 4 2023/01/15 14:15
- その他(Microsoft Office) Excel 2列の値を返す数式についてです 1 2022/11/23 22:59
- Excel(エクセル) Googleスプレッドシートの割合の関数と円グラフの並べ替えについて 1 2022/07/22 17:31
- フリーソフト Googleスプレッドシートで特定の言葉が含まれる行の色分けをしたいのですが 4 2022/04/30 15:29
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセル初心者です 関数の入れ...
-
【関数】先頭だけにある、半角...
-
エクセル 白黒印刷で白線を印刷...
-
Excelのチェックボックスの使い...
-
【関数】適切な文字数の数字を...
-
Excelのpivotについて質問です
-
Excel ピボットテーブルで日付...
-
LOOKUP関数を使えばいいのでし...
-
エクセル関数を教えてください
-
エクセルのセルに同じ大きさの...
-
UNIQUE関数が使えないバージョ...
-
excelの不要な行の削除ができな...
-
エクセルで「-0.0」と表示さ...
-
時間によってファイル名が変わ...
-
WPS OFFICEでの縦書きについて
-
エクセルの関数について教えて...
-
Aというブックの1というシート...
-
【マクロ】シート名を取得する...
-
VBA Private Sub Worksheet_Cha...
-
VBA、Excelのworkbook.open に...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel 2019 のピボットテーブル...
-
[関数得意な方]教えて下さい・...
-
Excelにてある膨大なデータを管...
-
[関数について]わかる方教えて...
-
Excel初心者です。 詳しい方、...
-
excelの不要な行の削除ができな...
-
エクセル関数に詳しい方教えて...
-
INDIRECTを使わず excelで複数...
-
[オートフィルタ]で抽出された...
-
エクセルの神よ、ご回答を! エ...
-
エクセル関数に詳しい方、教え...
-
各ページの1番上の表示について
-
Excelで写真のような表を作った...
-
エクセルで不等号記号(≠)が上に...
-
数学 Tan(θ)-1/Cos(θ)について...
-
Excel 2019 は、SPILL機能があ...
-
Excelで全角を半角にしたいので...
-
条件付き書式を教えてください
-
Excel フィルターを掛けた状態...
-
[オートフィルタ]の適用範囲の...
おすすめ情報