これからの季節に親子でハイキング! >>

例えば、A1からZ1までのセルに、
af fe pr oy uu fi ko ru ir ny fh oh pe ny gg hd ul kd ty uk oi nr fy gk dq te
と1つのセルにつき2文字ずつデータが入っていて、
さらに、A2からZ2までのセルに、
ai wp hi mi ps nu fd ij di mi fg er eq vg yr lk fr af xv ui ft gh bv wo pg fr
と、これも1つのセルに付2文字ずつデータが入っているとします。
上下2段になっているわけです。
上下ペアが26個あるという形です。

そうした場合に、
「上の段にgが含まれていて、下の段にrが含まれているペアはいくつあるか」
という問題の答えを求める方法はあるでしょうか。

よろしくお願い致します。

A 回答 (6件)

例えば、こちら↓のようなこと?


 =COUNTIFS(A1:Z1,"*g*",A2:Z2,"*r*")

Excel2007以降なら、上記の関数で対応できます。
    • good
    • 0
この回答へのお礼

何とシンプルな!
驚きました。こんな簡単な式で出来てしまうんですね。
どうもありがとうございました。

お礼日時:2019/04/09 01:02

COUNTIFS関数で良いでしょ?


ワイルドカードを指定するだけです。
 =COUNTIFS(A1:Z1,"*g*",A2:Z2,"*r*")

もしも指定する文字をAA1セルとAA2に入力するなら、検索条件をそれぞれ
 ”*”&AA1&"*"
 ”*”&AA2&"*"
として、
 =COUNTIFS(A1:Z1,”*”&AA1&"*",A2:Z2,”*”&AA2&"*")
とすればいい。

・・・
No.2の回答者さん以外、みな難しく考えすぎだと思うんだ。
    • good
    • 0
この回答へのお礼

検索ワードをセルから参照する方法も示していただいて、
大変参考になりました。
どうもありがとうございます。

お礼日時:2019/04/09 22:04

その条件を全部見なきゃわからんね。

それと上下でなくて、Aretu ,B列じゃダメなのかな?と思うんだけど?
なんでもいいけど、結局、教えた損は、辛すぎるので、一度、これでよかったのならクローズにして、ちゃんとした条件を再度出してください。答えただけ損は、ひどすぎだよ。
    • good
    • 0
この回答へのお礼

読み返してみると、私の説明がまったく稚拙なことに気づかせてもらいました。
皆さん、よくこんな説明で私の意図を読み取れましたね(汗)
今後ともよろしくお願いいたします。

お礼日時:2019/04/09 01:08

=SUMPRODUCT((ISERROR(FIND("g",A1:Z1))=FALSE)*(ISERROR(FIND("r",A2

:Z2))=FALSE))
「EXCELで、上下並んだセルのペアに対し」の回答画像4
    • good
    • 0
この回答へのお礼

画像付きでとても丁寧な回答をくださり、大変ありがとうございました。
式の意味がとんと分かりませんけれども、ちゃんと正しい答えが出るということに驚いています。
じっくり式の意味を読み解きたいと思います。どうもありがとうございました。

お礼日時:2019/04/09 01:06

もし、



検証値が 必ず、
一文字なら、

こう言う事ですよね?


式、
=IF(SUMPRODUCT(LEN(D3:D4))=2,
SUMPRODUCT(ISNUMBER(FIND(D3,A1:Z1))*ISNUMBER(FIND(D4,A2:Z2))),
"")


ファイル、
https://1drv.ms/x/s!AjviygfJDgV_3DKuvUr0-rkJ3wIX


尚、
ファイルですが、
一度 Excelで、
開き、
ローカルに 別名保存して、
くださいね、

此の時、
別名保存でないと、
意味が ないですよ。


さすれば、
別名保存した ファイルを、
使う限り、

閲覧も、編集も、
可能に なるものと、
思います。
「EXCELで、上下並んだセルのペアに対し」の回答画像3
    • good
    • 0
この回答へのお礼

すごく丁寧な回答をくださり、大変ありがとうございました。
意味が分からないのですが、やってみると確かに正しい答えが表示されました。
こんな関数の組み合わせを思いつくというのがすごいですね。どうもありがとうございました。

お礼日時:2019/04/09 01:05

こういうこと?


=IFERROR(IF(FIND("g",A1),0.5,0)+IF(FIND("r",A2),0.5,0),"")
「EXCELで、上下並んだセルのペアに対し」の回答画像1
    • good
    • 0
この回答へのお礼

早速の解答ありがとうございます!
この方法でもちろんいいのですが、
実は10種類以上の条件でそれぞれ答えを出す必要があり、
またこの2行みたいなものが数十個あるものですから、
この方法だと大量の空欄セルが必要になってきます。
できればCOUNTIFまでとはいかずとも、範囲指定で出せてしまうような
方法はないものでしょうか。

お礼日時:2019/04/08 00:02

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aと関連する良く見られている質問

Q特定の列範囲の中で最終列を指定

お世話になります。
以前質問した中で、別シートにデータを5列づつ
下に追加していくにはどうしたら良いかと言う質問をさせていただきました。

https://oshiete.goo.ne.jp/qa/11051972.html

上記回答で解決したのですが、
For j = 4 To .Cells(i, 1).End(xlToRight).Column Step unit
だと繰り返したくない列も動いてしまい、
繰り返す列範囲がD~W列のため
For j = 4 to 24 Step unit に変更しました。
すると今度は空白がある行も転記してしまい、困っています。

繰り返す範囲はD~W列まで5列毎に繰り返す
5列毎の最初のセルが空白か[0]であれば転記しない

どうぞよろしくお願いします。

Aベストアンサー

似ていますが、、、、

Sub Copies()
Const SRow = 3: Dim LRow As Long
Dim sht1 As Worksheet: Dim sht2 As Worksheet
Dim i As Long, j As Long, k As Long
Const UWide = 5
'===================
Set sht1 = Worksheets("Sheet1")
Set sht2 = Worksheets("Sheet2")
'===================
Application.ScreenUpdating = False
With sht1
LRow = .Cells(Rows.Count, 1).End(xlUp).Row
.Cells(SRow, 1).Resize(1, 3 + UWide).Copy sht2.Cells(1, 1)
k = 2
For i = SRow + 1 To LRow
For j = 4 To 23 Step UWide
If WorksheetFunction.CountA(.Cells(i, j).Resize(1, UWide)) > 0 Then
.Cells(i, 1).Resize(1, 3).Copy sht2.Cells(k, 1)
.Cells(i, j).Resize(1, UWide).Copy sht2.Cells(k, 4)
k = k + 1
End If
Next j
Next i
End With
Application.ScreenUpdating = True
End Sub

似ていますが、、、、

Sub Copies()
Const SRow = 3: Dim LRow As Long
Dim sht1 As Worksheet: Dim sht2 As Worksheet
Dim i As Long, j As Long, k As Long
Const UWide = 5
'===================
Set sht1 = Worksheets("Sheet1")
Set sht2 = Worksheets("Sheet2")
'===================
Application.ScreenUpdating = False
With sht1
LRow = .Cells(Rows.Count, 1).End(xlUp).Row
.Cells(SRow, 1).Resize(1, 3 + UWide).Copy sht2.Cells(1, 1)
k = 2
For i = SR...続きを読む

Qエクセル リストと完全一致するセルに色をつける

シート1のA列とB列に
aaa ccc
bbb ggg
ccc kkk
ddd ooo
と言うリストがあって、A1〜A4はAチーム、B1〜B4まではBチームと名前を付けています
シート2にAチームのリスト4個が続いているものがあればセルを赤、Bチームのリスト4個が続いているものがあればセルを黄色に塗りたいです
AチームとBチームの中には同じ品番がある時もあります
条件付き書式で設定は出来るでしょうか?

Aベストアンサー

(´・ω・`)
”○” の数を数えるんじゃないんだよなあ。

・・・本題・・・

条件付き書式ですよね。

シート2のリストの並び順は
 aaa
 ccc
 bbb
 ddd
では「Aチーム」と認識しないという事でよろしいでしょうか?
ならば、とても簡単です。

シート2の一覧において、

 判定するセル1
 判定するセル2
 判定するセル3
 色を付けるセル
 判定するセル4
 判定するセル5
 判定するセル6

という範囲について調べれば良いという事。

 判定するセル1
 判定するセル2
 判定するセル3
 色を付けるセル

 判定するセル2
 判定するセル3
 色を付けるセル
 判定するセル4

 判定するセル3
 色を付けるセル
 判定するセル4
 判定するセル5

 色を付けるセル
 判定するセル4
 判定するセル5
 判定するセル6

の4パターンについてそれぞれ調べれば良いだけ。

自分なら
 aaa-bbb-ccc-ddd
のようにシート1から文字列を作り、それが調べるセルで同じパターンになるかを調べます。
シート1はA5セルから、シート2はA11セルからデータが入力されているなら、

 シート1!A5 & シート1!A6 & シート1!A7 & シート1!A8 = A11 & A12 & A13 & A14
 シート1!A5 & シート1!A6 & シート1!A7 & シート1!A8 = A12 & A13 & A14 & A15
 シート1!A5 & シート1!A6 & シート1!A7 & シート1!A8 = A13 & A14 & A15 & A16
 シート1!A5 & シート1!A6 & シート1!A7 & シート1!A8 = A14 & A15 & A16 & A17

という条件になる。
この4つのうちの一つでも条件を満たせばセルに赤色を付ければいい。
「Bチーム」についても同様にすればいいので、
この場合、8つの条件式を設定することになります。

面倒でもこの考え方ができていないと、ちょっと条件が変わっただけで対処できずに終わります。
冒頭で「並び順」について書きましたが、並び順がシート1のリストの通りでなくとも色を付けたい場合でも、この考え方は必要ということです。

・・・
ちなみに厄介なのが、どちらのチームにも「ccc」がいるというところかな。
これが無ければ違う方法でシンプルにできるんですけどねえ。

(´・ω・`)
”○” の数を数えるんじゃないんだよなあ。

・・・本題・・・

条件付き書式ですよね。

シート2のリストの並び順は
 aaa
 ccc
 bbb
 ddd
では「Aチーム」と認識しないという事でよろしいでしょうか?
ならば、とても簡単です。

シート2の一覧において、

 判定するセル1
 判定するセル2
 判定するセル3
 色を付けるセル
 判定するセル4
 判定するセル5
 判定するセル6

という範囲について調べれば良いという事。

 判定するセル1
 判定するセル2
 判定するセル3
 色を付け...続きを読む

QExcelの関数で、下記のように報告値が自動で表示されるようにしたいです。 基本的には有効数字2桁表

Excelの関数で、下記のように報告値が自動で表示されるようにしたいです。
基本的には有効数字2桁表示なのですが、A列に入力した下限値の桁までの表示にしたいです。3行目、4行目のように有効数字1桁の場合もあります。5行目のような場合もあります。1日もがいてみましたが、どなたかご教授頂けたら大変助かります。

Aベストアンサー

No.4の回答者です。
No.5の回答者さんが指摘しているように、報告値で表示をする桁の
問題だと思います。

No.4の回答では、報告値に合わせるために強引な条件付き書式での
表示をしているので、計算値の0.995283を小数点一桁の1.0と表示
するようにしていますが、[下限値の桁数]での増減によって条件が
変わるので、ROUND関数での桁数の指定と条件付き書式での桁数の
指定がずれると丸める値の桁数が違うので1.00の表示になるのです。

> 数式の100を1000にしてみましたが
これについても、報告値をもとに下限値桁数に応じた10のべき乗を
使っていますが、下限値が3桁の場合に1000を使うと0.995をもとに
条件付き書式で判断するので、1以下として処理されます。

添付画像の[下限値の桁数に応じた報告値]のように、条件付き書式
設定なしでの数値を見てもらえば理解できると思います。
(C列の計算式と条件付き書式は、No.4の回答にあるもの)

[下限値の桁数に応じた報告値]列での数式
 =IF(B7<A7,"<"&A7,ROUND(B7*10^G7,IF(INT(B7)=0,0,LEN(INT(B7))*-1))/10^G7)

[下限値の桁数]列での数式
 =LEN(A7)-FIND(".",A7)

報告値の表示桁数をどのように処理するかを、もっと検証しないと
丸めの値が変わってくるので、質問者自身が判断してください。

No.4の回答者です。
No.5の回答者さんが指摘しているように、報告値で表示をする桁の
問題だと思います。

No.4の回答では、報告値に合わせるために強引な条件付き書式での
表示をしているので、計算値の0.995283を小数点一桁の1.0と表示
するようにしていますが、[下限値の桁数]での増減によって条件が
変わるので、ROUND関数での桁数の指定と条件付き書式での桁数の
指定がずれると丸める値の桁数が違うので1.00の表示になるのです。

> 数式の100を1000にしてみましたが
これについても、報告値をもとに下限値...続きを読む

Qエクセル データの入力規制「リスト」でこんな事できますか?

エクセルでこんな事できますか?
並列したQ列 R列があり、
また、添付には表記されていませんが、
その隣にS列 T列があり、
Q列、S列は、「コード」という事で、
Q列は1,2,3,4,5,6,7,8,9,10
S列は11,12,13,14,15,16,17,18,19,20
です。
R列は、「材質」でQ列に対応し、添付ファイルのように10項目
T列も「材質」でS列に対応し、10項目あります。

R列 T列「材質」を見て Q37セルにコードを入力したく、
その時、ドロップダウンリストとして、R列、続けて、T列の項目を表示したいです。

データの入力規制「リスト」で、できそうかと思い、頑張っていたのですが、
うまくいかず困っています。
データの入力規制「リスト」にはこだわりませんが、
マクロはできるだけ使わず完成したく思います。
エクセル詳しいかたご教授よろしくお願いします。

Aベストアンサー

あー…
入力規則はあくまでも、データ入力を補助するための機能ですからリストと違う文字を反映させることはできませんよ。

例えばリストデータは、01りんご・02プリンのように作って置いて、コードを出す時に
=LEFT(Q37,2)*1
と入れておくとか?

Q【関数】複数条件に応じてポイントをつけたい

お世話になっております。

条件によってポイント付与する数式を組みたいのですが
条件が複雑で、どのような関数を組めば良いか、関数の知識も乏しく頭を悩ませております。
詳しい方教えて頂けないでしょうか?

K列 担当者ID
L列 計画
M列 実績
N列 達成率
O列 達成額/未達額
P列 ポイント付与欄

上記のようなデータがあります。

下記条件で、O列「達成額/未達額」の降順にポイントを付与したいです。
その際、下記の条件でポイントを付与したいのです。

ポイント集計先
①黄色セル K5~K18:担当者ID
➁赤色セル K4:部門コード
※画像添付いたします。

ポイント付与条件別表
黄色セル E列:担当者ID ※上記①と紐づく
ピンクセル F列:担当者に紐づく主担当部門コード ※上記➁と紐づく
※補足へ画像添付いたします。

★条件★
・基本
O列
①「達成額/未達成額」が0以上なら降順に10Pからポイント付与
➁「達成額/未達成額」が0orマイナスならポイント付与せず
※ただし、マイナスでも実績があればポイント付与

上記、基本条件に加えて、下記条件も組み込みたいです。
①担当者ID+主担当部門コードが紐づけはO列に10PからポイントMAX付与
➁担当者ID+主担当部門コード以外だったら該当ポイントの1/2付与
かつ、「達成額/未達成額」が0orマイナスなら1/2のポイントの半分付与

何卒、よろしくお願いいたします。

お世話になっております。

条件によってポイント付与する数式を組みたいのですが
条件が複雑で、どのような関数を組めば良いか、関数の知識も乏しく頭を悩ませております。
詳しい方教えて頂けないでしょうか?

K列 担当者ID
L列 計画
M列 実績
N列 達成率
O列 達成額/未達額
P列 ポイント付与欄

上記のようなデータがあります。

下記条件で、O列「達成額/未達額」の降順にポイントを付与したいです。
その際、下記の条件でポイントを付与したいのです。

ポイント集計先
①黄色セル...続きを読む

Aベストアンサー

まず基本条件の方からいきます。
1.セルP5に 「 =IF($M5>0,MAX(10+1-RANK.AVG($O5,IF($M$5:$M$1000>0,$O$5:$O$1000,"")),0),"") 」を入力します。
2.必要なだけ下方向にコピーします。(完了)

*RANK.AVG関数で”達成額/未達成額”の順にランキング(1~)をつけ、11から差し引く、という方法をとります
*”実績”がマイナスのものはランキング付けそのものから除外するので、IF関数で検索対象の配列を絞り込みます
(IF関数に配列を入れたら答えも配列で返してくれるので、その絞り込んだ配列に対してRANK.AVR関数を使います。)
*マイナスのポイントは排除したいので、MAX関数でゼロと比較して正の値のみを採択します

追加条件込みの方は、以下です。
1.セルP5に 「 =IF($M5>0,MAX(10+1-RANK.AVG($O5,IF($M$5:$M$1000>0,$O$5:$O$1000,"")),0)*IF(VLOOKUP($K5,$E$3:$F$1000,2,FALSE)=$K$4,1,IF($O5>0,0.5,0.25)),"") 」を入力します。
2.必要なだけ下方向にコピーします。(完了)

*担当IDから担当部門コードの検索にはVLOOK関数を使います。VLOOK関数が正常に動作するには、担当IDに漏れがない事と番号順に並んでいる事が必要ですので、これ前提で考えて下さい。
*追加条件に準じ、ポイントを1倍したり、0.5倍したり、0.25倍したり、しました。

まず基本条件の方からいきます。
1.セルP5に 「 =IF($M5>0,MAX(10+1-RANK.AVG($O5,IF($M$5:$M$1000>0,$O$5:$O$1000,"")),0),"") 」を入力します。
2.必要なだけ下方向にコピーします。(完了)

*RANK.AVG関数で”達成額/未達成額”の順にランキング(1~)をつけ、11から差し引く、という方法をとります
*”実績”がマイナスのものはランキング付けそのものから除外するので、IF関数で検索対象の配列を絞り込みます
(IF関数に配列を入れたら答えも配列で返してくれるので、その絞り込んだ配列に対してRAN...続きを読む

Q全てのシート見出しを一時的に非表示にする近道は?

Ctrl+Shift+U の近道(ショートカット)キー操作で「折りたたまれて1行表示の数式バーが展開され、または、数行に展開されていた数式バーが1行表示に折りたたまれる」ことは既にご存知のことかと。(Alt+WVF では数式バーの非表示/再表示が可能なことも?)
閑話休題
さて、全てのシートは表示させたままで、全シート見出しだけを一時的に非表示にする近道キー操作をご存知の方は教えてください。
(ワークシートのスクリーンショットを撮りたいときに、数式バーやシート見出しが邪魔になるときがあるので)

Aベストアンサー

コマンとしては[シート見出しの色]はありますが、希望している
シート見出しの表示・非表示はないみたいです。
No.2の回答者さんが書いている[オプション」の[詳細設定]にある
[シート見出しを表示する]へのチェックの有無で切り替えます。
https://support.office.com/ja-jp/article/%E3%83%AF%E3%83%BC%E3%82%AF%E3%82%B7%E3%83%BC%E3%83%88%E8%A6%8B%E5%87%BA%E3%81%97%E3%81%8C%E8%A1%A8%E7%A4%BA%E3%81%95%E3%82%8C%E3%81%AA%E3%81%84-42623d50-2f9b-4583-ad9c-f1b381185e48
どうしてもショートカットキーでの操作を希望するのなら、
マクロとして登録したものにショートカットキーを設定して、
それで切り替えるしかないと思います。
https://docs.microsoft.com/ja-jp/office/vba/api/excel.window.displayworkbooktabs?f1url=https%3A%2F%2Fmsdn.microsoft.com%2Fquery%2Fdev11.query%3FappId%3DDev11IDEF1%26l%3Dja-JP%26k%3Dk(vbaxl10.chm356089)%3Bk(TargetFrameworkMoniker-Office.Version%3Dv15)%26rd%3Dtrue%26f%3D255%26MSPPError%3D-2147217396

マクロの例
Sub WorkbookTabs()
' シート見出しの切り替え
 If ActiveWindow.DisplayWorkbookTabs = False Then
  ActiveWindow.DisplayWorkbookTabs = True
 Else
  ActiveWindow.DisplayWorkbookTabs = False
 End If
End Sub

コマンとしては[シート見出しの色]はありますが、希望している
シート見出しの表示・非表示はないみたいです。
No.2の回答者さんが書いている[オプション」の[詳細設定]にある
[シート見出しを表示する]へのチェックの有無で切り替えます。
https://support.office.com/ja-jp/article/%E3%83%AF%E3%83%BC%E3%82%AF%E3%82%B7%E3%83%BC%E3%83%88%E8%A6%8B%E5%87%BA%E3%81%97%E3%81%8C%E8%A1%A8%E7%A4%BA%E3%81%95%E3%82%8C%E3%81%AA%E3%81%84-42623d50-2f9b-4583-ad9c-f1b381185e48
どうしてもショートカットキーで...続きを読む

Q時刻(時間)表示形式について

添付図をご覧ください。
範囲 A3~A6 に h:mm 形式で時刻を入力しています。
式 =$A3 を入力したセル B3 を右方3列、下方3行にオートフィルしました。
B列の書式は h"時間"mm"分" に設定しました。
C、D列の書式を h"時間"m"分" に設定した後で、D列に下記の[条件付き書式]を設定しました。
ルールの適用先: =$D$3:$D$6
ルールの種類: “数式を…を決定”
ルールの内容↓
 ̄ ̄数式→=MINUTE($A3)=0、書式→表示形式を h"時間" に設定

さて、質問です。
「0時間」という表示を避けたいので、その場合はセル E3、E4 に示すように単に(?)「0分」、「23分」と、マクロを使わないで、表示させる方法があれば教えてください。

Aベストアンサー

こんにちは

条件付き書式を追加すればできそうですが・・・?

「数式を使用して~~」から条件式として
  =$A3<1/24
を代入し、書式をユーザ定義として
  [m]"分"
に設定するのでは、いかがでしょうか?

Qエクセルのデータ抽出方法を教えてください

下記のような表から、A列のコードをもとにして「D」列の「3」行目の100、200、300(ピンク色)のセルを参照したいのですが関数がわかりません。
別のシートに10000なら100、20000なら200と表示させたいです。
vlookupでは行が1行でないとできませんでした。

Aベストアンサー

以下でいかがですか。
H2 =INDEX(E2:E13,MATCH(G2,A2:A13,0)+1)

Q一時的に“計算結果の代わりに数式をセルに表示する”には?

Excel 2013 において、
[ファイル]⇒[オプション]⇒[詳細設定]⇒[表示]⇒“数式バーを表示する”の手順で
「数式バー」表示のON/OFFができますよね。
でも、一時的にそうしたいときは、
[表示]⇒[表示 <数式バー>]でも可能だし、私はいつも
Alt+WVF なるショートカットキーで素早くチャっチャっとしています。

話変わって、…
[ファイル]⇒[オプション]⇒[詳細設定]⇒[次のシートで作業するときの表示設定]⇒“計算結果の代わりに数式をセルに表示する”の操作は承知しております。
が、一時的にそうしたいときの素早い方法(ショートカットキーがあれば仕合せ!)は寡聞にして存じません。どなたか教えていただけないでしょうか?

Aベストアンサー

[Ctrl]+[Shift]+[@]
では?

Qエクセル売価設定の変更

エクセル初心者です。

500円未満で仕入れた商品を ÷0.3の売価にし
500円以上で仕入れた商品を ÷0.5の売価なるように
数式を入力したいのですが、教えていただけますでしょうか?

Aベストアンサー

また「①未入力は空白で表示」を見落としてました。
=IF(A1="","",ROUND(A1/IF(A1<500,0.3,0.5),-1)) です。


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング