スプレッドシートにて、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ランキング
-
エクセルのツールバーから数値...
-
祝日と土曜、日曜の合計をカウ...
-
【マクロ】2回実行したら、エ...
-
特定の文字列を含む、住所を抽...
-
EXCELの散布図で日付が1900年に...
-
マイクロソフトのPADを使ってい...
-
Excel分数の表示について
-
Excelで表を作ったところに文字...
-
マクロエクセルのブロック解除
-
文字2桁、3桁交じりの文字列...
-
絶対参照
-
Excelについての質問です。 B2...
-
在庫管理表に使うエクセルの関...
-
【マクロ】VLOOKUPにて参照元に...
-
【EXCEL】画像の黄色部分の抽出...
-
DATE関数で現在の年齢を出した...
-
ユーザー定義関数をアドイン登...
-
エクセルでの作業計算方法について
-
行数が不規則な一週間ごとの合...
-
Excelピボットテーブルの1行目
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
半角カタカナをヘボン式ローマ...
-
(マクロ)vlookupの元データを同...
-
エクセルで上位バイトのセルと...
-
exselの質問です
-
Excel 大小比較演算子による「...
-
Excel VBについての質問です。
-
エクセルの問題です。絶対値の...
-
非表示列の再表示に失敗
-
職場の人から聞かれており、こ...
-
Excel関数-文字列で自動作成さ...
-
Excelデータをコピペして、ペー...
-
ユーザー定義関数をアドイン登...
-
【マクロ】for next構文について
-
エクセルの日付を編集する
-
【マクロ】VLOOKUPにて参照元に...
-
exselで最小数で並び替える関数
-
libre 表計算ソフトの計算がう...
-
エクセルで表
-
エクセルの表で1年間の曜日を...
-
西暦和暦
おすすめ情報